de quelle facon peut on mettre plusieurs chaines de caractere comme :
"coucou"
"ca"
"va"
dans une seule variable que se soit un tableau ou une structure je vois pas comment faire
Version imprimable
de quelle facon peut on mettre plusieurs chaines de caractere comme :
"coucou"
"ca"
"va"
dans une seule variable que se soit un tableau ou une structure je vois pas comment faire
Ça dépend du format...
Si ce sont des chaînes littérales, un tableau ou une structure avec trois const char * suffit...
Sinon, tu peux faire une structure contenant trois tableaux de caractères, ou encore un tableau bidimensionnel de caractères, ou encore un tableau de pointeurs alloués dynamiquement...
Tout dépend de ce dont tu as besoin précisément, en fait... Histoire de ne pas sortir la grosse artillerie pour rien...
Salut,
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 const char * tableau[3]; tableau[0] = "va"; tableau[1] = "ca"; tableau[2] = "coucou"; ou char tableau[3][7]; strncpy(tableau[0], "va", 7); strcpy(tableau[1], "ca", 7); strncpy(tableau[2], "coucou", 7); ou /* Allocation dynamique */ char **tableau; tableau = malloc(3*sizeof(*tableau)); if (tableau == NULL={ fprintf(stderr, "Allocation failed!"); exit(1); } for (i=0; i<3; i++){ *(tableau+i) = malloc(7*sizeof(**tableau)); } strncpy(tableau[0], "va", 7); strcpy(tableau[1], "ca", 7); strncpy(tableau[2], "coucou", 7);
Tu as bien dit des chaines de caractères, c'est à dire non modifiable ? :Citation:
Envoyé par eldiablol
éventuellement avec une sentinelle, c'est parfois utile...Code:
1
2
3
4
5
6
7 char const *const tab[] = { "coucou", "ca", "va", };
Code:
1
2
3
4
5
6
7 char const *const tab[] = { "coucou", "ca", "va", NULL, };
bonjour :D
tu peux utiliser une liste chainee :Citation:
Envoyé par eldiablol
:DCode:
1
2
3
4
5
6
7
8
9 #define MAX_C 30 struct chaine { char tab[MAX_C]; struct chaine *suivant; }Chaine; typedef Chaine* CHaine;
Tu m'expliqueras comment tu l'initialises, le tableau de caractères constants, dans ta structure...