2010-01-22 6 views
0

Cela ne fonctionneSe référant à: Comment utiliser LLIST * mylist [N];

LLIST *mylist[10] = {NULL}; 

mais je si je voulais faire ce que je reçois des erreurs:

int x=10; 

LLIST *mylist[x] = {NULL}; 

x peut être une valeur que je suis mise à 10 pour l'instant. x va être utilisé comme un compteur.

+0

Ne devrait-il pas être NULL au lieu de {NULL}? – emil

+0

non, {NULL} est un moyen légitime d'initialiser le tableau avec des valeurs nulles. –

+0

Oh, je ne le savais pas. Est-ce aussi une fonctionnalité C99? – emil

Répondre

3

La prise en charge des tableaux de longueur variable (que votre second exemple utilise) est entrée dans la norme C99, que votre compilateur ne prend peut-être pas en charge.

Pour gcc, vous devez passer l'option -std=c99 lors de la compilation.

+0

J'utilise un fichier make que je cours pour compiler – MRP

+0

Dans ce cas, vous devez modifier le 'CFLAGS' et ajouter' -std = c99'. –

+0

@MRP: Définissez ensuite la variable d'environnement CFLAGS pour inclure 'std = c99' – rampion

Questions connexes