Ho corretto il codice e cosi sembra funzionare:
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;
}
cosi dovrebbe essere corretto no? o funziona per grazia divina??? il c rimane un mistero per me... sob...