Maison  >  Article  >  développement back-end  >  Comment initialiser un tableau en langage C

Comment initialiser un tableau en langage C

青灯夜游
青灯夜游original
2023-01-04 15:36:2623455parcourir

Trois façons d'initialiser des tableaux en langage C : 1. Attribuez directement une valeur lors de la définition, la syntaxe est "data type arrayName[index] = {value};" 2. Initialisez à l'aide d'une boucle for, la syntaxe est "for" (int i=0; i

Comment initialiser un tableau en langage C

L'environnement d'exploitation de ce tutoriel : système Windows 7, version c99, ordinateur Dell G3.

Trois façons d'initialiser des tableaux en langage C

1. Affectation directe pendant la définition

int arr1[3] = {0};

La manière la plus simple d'utiliser {0} est généralement utilisée lors de la définition.

2. Initialisation de la boucle For

int arr2[3];
for (int i = 0; i 

L'avantage d'utiliser la boucle for est que chaque élément peut être défini sur une valeur différente.

3. Fonction memset

La fonction memset est déclarée comme :

void *memset(void *str, int c, size_t n)

n octets après la position actuelle dans str (typedef unsigned int size_t) Remplacer str avec c et renvoie str.

int arr3[3];memset(arr3, 0, sizeof(int) * 3);

memset utilise généralement "0" pour initialiser l'unité de mémoire, généralement pour initialiser le tableau ou la structure, ou pour effacer le tableau ou la structure.

Généralement, les variables de types tels que char, int, float, double, etc. peuvent être initialisées directement si vous utilisez memset, ce sera gênant.

Les exemples de codes des trois méthodes sont les suivants :

Comment initialiser un tableau en langage C

Il est à noter que : la fonction memset initialise le bloc mémoire par octets, elle ne peut donc pas être utilisée pour initialiser le tableau int à d'autres valeurs autre que 0 et -1 .

memset se voit attribuer une valeur de -1 ou 0, et le résultat final est correct :

Comment initialiser un tableau en langage C

Comment initialiser un tableau en langage C

Mais lorsque memset se voit attribuer une valeur autre que -1 et 0, le résultat final n'est pas celui attendu valeur. Par exemple, si la valeur est 1, c'est comme indiqué dans la figure ci-dessous :

Comment initialiser un tableau en langage C

Parce que memset attribue une valeur à chaque octet, et que l'on sait qu'un int fait 4 octets, alors la valeur binaire du memset Le devoir est :

00000001 00000001 00000001 00000001 = 16843009

[Recommandations associées : Tutoriel vidéo sur le langage C, Enseignement de la programmation]

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn