Ciao

Ho questo problema: quando creo un array di stringhe - o meglio, di char* - se questo è globale non riesco a scrivere dentro i suoi elementi, nè con strdup nè facendo a mano la malloc.
Lo stesso codice usando lo stesso array ma locale, invece, funziona.

Ad esempio:

codice:
incluso.h:

#define MAX 10


file1.c:

int n=0;
char* array[MAX];


file2.c:

extern int n;
extern char* array[MAX];

void fun(){
 array[0]=strdup(mia_stringa);
}
-> segfault


codice:
incluso.h:

#define MAX 10


file2.c:

void fun(){
 char* array[MAX];  
 array[0]=strdup(mia_stringa);
}
-> non segfaulta ma duplica la stringa nell'elemento 0 del mio array.

Vi ringrazio in anticipo per i suggerimenti