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:
-> segfaultcodice: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); }![]()
-> non segfaulta ma duplica la stringa nell'elemento 0 del mio array.codice:incluso.h: #define MAX 10 file2.c: void fun(){ char* array[MAX]; array[0]=strdup(mia_stringa); }
Vi ringrazio in anticipo per i suggerimenti![]()