Sommaire

Tableaux et structures

Questions tableaux et structures

Voici quelques questions pour vous aider à synthétiser et retenir des contenus qui nous paraissent essentiels dans cette section :

Une structure peut-elle contenir un tableau ?

Si oui, comment accède-t-on aux éléments du tableau ?

Peut-on avoir un tableau de structures ?

Si oui, comment accède-t-on aux éléments de chaque structure ?

Quelles sont les différences entre un tableau et une structure ?

1. Tableau comme champ dans une structure

Une structure peut contenir des tableaux. L’accès au tableau se fait comme pour n’importe quel autre champ avec l’opérateur point. Soit par exemple la structure test suivante :

typedef struct{ 
    char nom[80]; 
    float calc; 
    int stock[10]; 
}test;

Dans le programme suivant, une struct test est initialisée et affichée :

#include <stdio.h> 
#include <stdlib.h> 
 
int main() 
{ 
test t1; 
int i; 
 
    strcpy(t1.nom,"Michael"); 
    printf("Nom : %s\n",t1.nom); 
    t1.calc=(float)rand() / RAND_MAX; 
    printf("Calcul : %f\n",t1.calc); 
 
    for (i=0; i<10; i++){ 
       t1.stock[i]=rand()%256; 
       printf("Valeurs %d stockees : %d\n", i, t1.stock[i]; 
    } 
    return 0; 
}

On commence par déclarer la structure t1, ensuite :

  • initialisation et affichage du champ nom,

  • initialisation du champ calc avec une valeur ...