J'ai une structure qui contient plusieurs tableaux. Les tableaux ont le type unsigned char [4].
Je peux initialiser chaque élément en appelant
struct->array1[0] = (unsigned char) something;
...
struct->array1[3] = (unsigned char) something;
Je me demande simplement s'il existe un moyen d'initialiser les 4 valeurs sur une seule ligne.
SOLUTION: j'avais besoin de créer un tableau temporaire avec toutes les valeurs initialisées, puis d'appeler memset () pour copier les valeurs dans le tableau struct.
Vous pouvez également boucler:
for(i = 0; i < 4; i++) the_struct->array1[i] = (unsigned char) something;
Cela fonctionnera même lorsque vous n'avez pas de caractère, mais par exemple int (et valeurs! = 0). En fait, définir par exemple 1 une structure faite de int (lorsque la taille de int est supérieure à 1) n'est pas la bonne façon de les initialiser.