Bonsoir à tous,
Je débute avec le langage c et il me vient un problème dont je n'arrive pas à me "dépatouiller". Il s'agit d'un problème d'assignation de champs.
Lorsque j'assigne une variable provenant d'une structure dans une fonction, j'arrive à compiler.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 #include <stdio.h> struct generic_kvt { char *key[5]; char *value[5]; } generic_t; struct generic_kvt generic_t; int main(int argc, char** argv) { generic_t.key[0] = "er"; printf("%s\n", generic_t.key[0]); return 0; }
Hors, lorsque je souhaite assigner mes variables hors d'une fonction de la manière suivante, j'obtiens ce message d'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 gcc -Wall -lm "test.c" -o "test" test.c:11: error: expected '=', ',', ';', 'asm' or '__attribute__' before '.' token Compilation échouée.J'ai beau chercher dans les livres mais je n'arrive pas à trouver une solution sur une affectation globale d'une variable issue d'une structure. (la plupart des cas présent dans les livres montre plutôt des affectations locales)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 #include <stdio.h> struct generic_kvt { char *key[5]; char *value[5]; } generic_t; struct generic_kvt generic_t; generic_t.key[0] = "er"; int main(int argc, char** argv) { printf("%s\n", generic_t.key[0]); return 0; }
Quelqu'un à-t-il une idée sur comment régler le problème ?
(je précise que j'utilise le compilateur gcc)
Partager