Ho corretto il codice e cosi sembra funzionare:
cosi dovrebbe essere corretto no? o funziona per grazia divina??? il c rimane un mistero per me... sob...codice:#include <stdio.h> #include <stdlib.h> #include <string.h> #define N 3 #define MAX 2048 int main(){ char ** arrey; char* stringa="prova"; int i; arrey=(char**)malloc(N*sizeof(char*)); arrey[0]=(char*)malloc(strlen(stringa)+1); strcpy(arrey[0],stringa); arrey[1]=(char*)malloc(strlen("pino")+1); strcpy(arrey[1],"pino"); arrey[2]=(char*)malloc(strlen("pluto")+1); strcpy(arrey[2],"pluto"); for(i=0;i<N;i++) printf("%s\n",arrey[i]); fflush(stdout); arrey=(char**)realloc(arrey,sizeof(char*)*(N+1)); arrey[3]=(char*)malloc(strlen("NUOVO")+1); strcpy(arrey[3],"NUOVO"); for(i=0;i<(N+1);i++){ printf("%s\n",arrey[i]); fflush(stdout); } return 0; }

Rispondi quotando