Comment initialiser un tableau en langage C

青灯夜游
Libérer: 2023-01-07 11:45:29
original
37049 Les gens l'ont consulté

Méthode : 1. Lors de la définition d'un tableau, attribuez des valeurs initiales à tous les éléments, par exemple "int a[5]={1,2,3,4,5}" 2. Attribuez des valeurs à certains éléments, par exemple "int a[5 ]={1,2}" ; 3. Ne spécifiez pas la longueur du tableau lors de la définition, attribuez directement des valeurs initiales à tous les éléments, par exemple "int a[]={1, 2,3,4,5}".

Comment initialiser un tableau en langage C

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

Initialisation du tableau

L'initialisation du tableau peut être réalisée en utilisant les méthodes suivantes :

1) Lors de la définition du tableau, attribuez des valeurs initiales à tous les éléments, ce qui est appelé "initialisation complète" . Par exemple :

int a[5] = {1, 2, 3, 4, 5};
Copier après la connexion
Copier après la connexion

En plaçant les valeurs initiales des éléments du tableau dans une paire d'accolades, après initialisation, a[0]=1; 3] =4; a[4]=5, c'est-à-dire attribué à chaque élément dans l'ordre de gauche à droite. Il convient de noter que lors de l'initialisation, chaque élément est séparé par des virgules et non par des points-virgules.

2) Vous pouvez attribuer des valeurs à une partie seulement des éléments. C'est ce qu'on appelle une "initialisation incomplète". Par exemple : Le tableau a défini par

int a[5] = {1, 2};
Copier après la connexion

comporte 5 éléments, mais seules deux valeurs initiales sont fournies entre les accolades. Cela signifie que seuls les deux premiers éléments a[0] et a[1] sont initialisés, tandis que. les trois derniers éléments sont tous initialisés. Non initialisé. Lorsqu'ils sont incomplètement initialisés, les éléments qui n'ont pas été initialisés sont automatiquement mis à 0.

Il convient de noter que « initialisation incomplète » est différente de « pas initialisé du tout ». Si "pas du tout initialisé", c'est-à-dire que vous définissez uniquement "int a[5];" sans initialisation, alors la valeur de chaque élément ne sera pas 0 et tous les éléments seront des valeurs inutiles.

Vous ne pouvez pas non plus écrire "int a[5]={};". Si vous n’écrivez rien entre accolades, c’est une grave erreur grammaticale. Au moins un chiffre doit être écrit entre accolades. Par exemple, "int a[5]={0};" consiste à "effacer" le tableau. À ce stade, chaque élément du tableau est nul. De plus, si la longueur du tableau défini est inférieure au nombre de valeurs initiales fournies entre accolades, il s'agit également d'une erreur de syntaxe, telle que "a[2]={1, 2, 3, 4, 5 };".

3) Si vous attribuez des valeurs initiales à tous les éléments du tableau lors de la définition du tableau, vous n'avez pas besoin de spécifier la longueur du tableau, car le nombre d'éléments a déjà été déterminé à ce moment-là. Nous utilisons souvent cette façon d'écrire lors de la programmation, car c'est pratique, il n'y aura aucun problème et nous n'aurons pas à calculer le nombre d'éléments, le système allouera automatiquement de l'espace. Par exemple :

int a[5] = {1, 2, 3, 4, 5};
Copier après la connexion
Copier après la connexion

peut être écrit comme :

int a[] = {1, 2, 3, 4, 5};
Copier après la connexion

Il y a 5 nombres entre accolades de la deuxième façon d'écrire, donc le système définira automatiquement la longueur du tableau a comme étant 5. Mais veuillez noter que vous ne pouvez écrire ceci que lors de l'initialisation du tableau lors de sa définition. Si un tableau est défini sans initialisation, omettre la longueur du tableau est une erreur de syntaxe. Par exemple :

int a[];
Copier après la connexion

Ensuite, une erreur sera générée lors de la compilation et le compilateur vous demandera que la longueur du tableau n'est pas spécifiée.

Laissez-moi écrire un programme simple pour vous :

# include <stdio.h>
int main(void)
{
    int a[5] = {1, 2, 3, 4, 5};
    int i;
    for (i=0; i<5; ++i)
    {
        printf("%d\n", a[i]);
    }
    return 0;
}
Copier après la connexion

Le résultat de sortie est :

1
2
3
4
5
Copier après la connexion

a représente le nom du tableau, [5] représente que le tableau comporte 5 éléments et utilise a[0] et a[ 1] respectivement, a[2], a[3], a[4] signifie. Et attribuez les nombres 1, 2, 3, 4 et 5 entre accolades aux variables a[0], a[1], a[2], a[3] et a[4] respectivement. Encore une fois, les indices commencent à 0, a[0], pas a[1].

Vous pouvez également utiliser scanf pour initialiser manuellement le tableau à partir du clavier :

# include <stdio.h>
int main(void)
{
    int a[5] = {0};  //数组清零初始化
    int i;
    printf("请输入5个数:");
    for (i=0; i<5; ++i)
    {
        scanf("%d", &a[i] );
    }
    for (i=0; i<5; ++i)
    {
        printf("%d\x20", a[i]);
    }
    printf("\n");
    return 0;
}
Copier après la connexion

Le résultat de sortie est :

请输入5个数:1 2 3 4 5
1 2 3 4 5
Copier après la connexion

C'est différent de l'utilisation de scanf pour saisir une chaîne dans un tableau de caractères. Lors de la saisie de nombres, vous devez utiliser. une boucle for à saisir. Il n'est pas nécessaire d'utiliser une boucle lors de la saisie d'une chaîne, utilisez simplement scanf.

Recommandations associées : "Tutoriel vidéo sur le langage C"

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal