Esiste in C una funzione che restituisce la lunghezza di un array??? ovvero il numero di elementi presenti nell'array, o in una stringa se preferite, visto che a me serve in particolare sulle stringhe...
Esiste in C una funzione che restituisce la lunghezza di un array??? ovvero il numero di elementi presenti nell'array, o in una stringa se preferite, visto che a me serve in particolare sulle stringhe...
strlen() restituisce la lunghezza di una stringa.
Ciao.![]()
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza
In generale puoi trovarla così:
dimensione=sizeof(array)/sizeof(array[0]);
Ci sono 10 tipi di persone al mondo, chi conosce il sistema binario e chi no.
Ma funziona solo subio dopo la dichiarazione :dimensione=sizeof(array)/sizeof(array[0]);
ossia risultato 9 e 1 ...codice:#include <iostream.h> #include <stdlib.h> int len (int arr[]); int main() { int array [9]; int dimensione = sizeof(array)/sizeof(array[0]); cout << dimensione << endl; cout << len(array) << endl; system("PAUSE"); return 0; } int len (int arr[]) { return sizeof(arr)/sizeof(arr[0]); }
Experience is what you get when you don’t get what you want
codice:unsigned int strlen (char *stringa) { unsigned int i = 1; while (*stringa != '\0') { i++; stringa++; } return i; }
Experience is what you get when you don’t get what you want
Ma non funziona con gli array allocati dinamicamente tramite puntatore:Originariamente inviato da bigmickey
In generale puoi trovarla così:
dimensione=sizeof(array)/sizeof(array[0]);
Ciao.codice:int main() { char *str; str = (char *) malloc(15 * sizeof(char)); strcpy(str, "Ciao mamma!\0"); printf("Dimensione stringa: %d\n", strlen(str)); printf("Dimensione stringa metodo 2?? %d\n", sizeof(str) / sizeof(str[0])); return 0; }![]()
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza