Originariamente inviato da anx721
char c* = (char *)malloc(DIM * sizeof(char));
in questo modo allochi un array di DIM elementi, ognuno dei quali è un carattere; se vuoi usare l'array come una stringa ricorda che l'ultimo carattere deve essere il carattere di fine string '\0', quindi DIM deve essere 1 in più rispetto alla lunghezza della stringa che ci vuoi memorizzare.
Per riallocare lo spazio precedentemente allocato devi usare la funzione realloc:
c = (char *)realloc(c, 100);
cosi ad esempio riallochi c in modo che punti ad una nuova zona di memoria di 100 locazioni; il vecchio contenuto a cui puntava c viene ricopiato nella nuova locazione; se invece non ti interessa avere il vecchio contenuto usi normalemnte la malloc,
![]()
Un array di puntatori a caratteri:
codice:char** array; array = (char**)malloc(DIM_VETTORE * sizeof(char*)); for (int i = 0; i < DIM; i++) array[i] = (char*)malloc(DIM_UNITARIA * sizeof(char));![]()


Rispondi quotando