3
structure
medina5 edited this page 2025-11-26 07:05:06 +01:00

Structure

Une structure permet de regrouper plusieurs types de données dans un seul bloc logique pour les associer à une super variable.

Exemple de variables indépendantes representant des conditions météorologiques.

float temperature;
float humidite;
int pression;
char vent_direction[2];
int vent_vitesse;

La structure rassemble les données dans un bloc logique

struct blocmeteo
{
  float temperature;
  float humidite;
  int pression;
  char vent_direction[2];
  int vent_vitesse;
};

Les variables à l'intérieur de la structure sont appelées des champs.

La déclaration de variables de type structure s'effectue comme les autes types (int, float, etc...) en utilisant la déclaration le nom de la structure y compris l'instruction struct.

struct blocmeteo paris;
struct blocmeteo strasbourg;
struct blocmeteo marseille;

On accède aux propriétés avec l'opérateur .

paris.temperature = 15.2;
strabourg.humidite = 0.88;
marseille.pression = 1040;

Nouveau type de données

Pour éviter d'écrire à chaque fois le mot clé struct lors de la déclaration d'une variable ou d'un paramètre de type structure, il est possible de définir un nouveau type à l'aide de la commande typedef. Veuillez noter que le nom du type vient tout à la fin de la définition, après la structure

typedef blocmeteo struct
{
  float temperature;
  float humidite;
  int pression;
  char vent_direction[2];
  int vent_vitesse;
} Meteo;

Le nom de la structure en elle même n'est plus utile, on peut l'ignorer.

typedef struct
{
  float temperature;
  float humidite;
  int pression;
  char vent_direction[2];
  int vent_vitesse;
} Meteo;

La déclaration des variables se fait directement avec le type;

Meteo paris;
Meteo strasbourg;
Meteo marseille;