Ciao, ho scritto un programmino in cui leggo così una stringa dinamica:
nel resto del programma la stringa nome è sempre associata a puntatore a carattere, e mai a stringhe preallocate come ad esempio stringa[15]. Il problema è che se le stringhe sono più lunghe di 7 caratteri il programma crasha, se le metto tutte al max di 7 lettere funziona tutto perfettamente. Sapete dirmi perchè?codice:char *leggiNome(char c) { int i = 1; int l; char *temp; char *nome = malloc(2*sizeof(char)); while(c >= 'a' && c <= 'z') { nome[i - 1] = c; nome = (char *)realloc(nome, ++i * sizeof(char)); c = getchar(); } nome[i - 1] = '\0'; /* Fine nome */ return nome; }
mi pare di ricordare che certe stringhe siano in effetti memorizzate come abcdefgh\x1

Rispondi quotando