Maison >développement back-end >Tutoriel C#.Net >Comment initialiser un tableau en langage C
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
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 :
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 :
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 :
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!