Bonjour les amis, j'ai un problème sur le tableau en C.
Je voudrais faire deux tableaux de dimensions différentes et les afficher dans un autre tableau.
Merci d'avance.
Bonjour les amis, j'ai un problème sur le tableau en C.
Je voudrais faire deux tableaux de dimensions différentes et les afficher dans un autre tableau.
Merci d'avance.
Salut
Ta question n'est pas très explicite quand à ce que tu veux vraiment faire, mais de ce que je comprend, l'une des approches possible serait de faire un tableau qui pointe vers les deux autres tableaux.
Example:
Cela dit je reste sceptique sur le fait que ce soit la meilleure solution à ton problème (code pas très clair);
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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 unsigned char array1[100]; ///< Premier tableau unsigned char array2[200]; ///< Second tableau unsigned char * array3[2] = { array1, array2 }; ///< Notre array3 pointe vers les 2 autres tableaux // Parcourir le premier tableau a partir de array3 for (uint32_t i = 0; i < 100; ++i) { array3[0][i] = 0; } // Parcourir le second tableau a partir de array3 for (uint32_t i = 0; i < 200; ++i) { array3[1][i] = 0; } // Alternative // Parcourir le premier tableau a partir de array3 unsigned char *array = array3[0] for (uint32_t i = 0; i < 100; ++i) { array[i] = 0; } // Parcourir le second tableau a partir de array3 unsigned char *array = array3[1] for (uint32_t i = 0; i < 200; ++i) { array[i] = 0; }
Tu devrais peut-être essayer d'utiliser une structure plutôt:
Avec des noms adaptés le code gagnerait en lisibilité.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 typedef struct { unsigned char array1[100]; unsigned char array2[200]; } myStruct_t; myStruct_t myStruct; memset(myStruct.array1, 0, 100); memset(myStruct.array2, 0, 200);
Partager