Ciao a tutti.
Una domanda che probabilmente risulterà più che banale a chi utilizza costantemente il C.
Il seguente pezzo di codice mi fa terminare il programma con un Segmentation Fault e non capisco perchè (è incriminata l'istruzione in grassetto). Sottolineo che sto sviluppando sotto Linux:
codice:
...
char **vett; /* dichiaro un vettore di stringhe */
...
if ((vett = (char **) malloc(12 * sizeof(char*))) == NULL) {
exit(5);
}
for(i=0; i<12; i++) {
if ((vett[i] = (char *) malloc(4 * sizeof(char))) == NULL) {
exit(6);
}
vett[i] = "\0\0\0";
}
strcpy(vett[0], "gen");
...
Qualcuno mi sa spiegare perchè se utilizzo, invece, questa istruzione tutto funziona correttamente?
Ciao e grazie.