infoclick solution informatique (Gers) - version particulier

 

infoclick solution informatique - Encyclopédie informatique

 
Introduction
Caractéristiques
Préprocesseur
Types de données
Les variables
Les opérateurs
Structures conditionnelles
Les fonctions
Les tableaux
Les structures
Les pointeurs
Chaîne de caractères
Listes chaînées
 
Structures en langage CPage précédentePage suivanteRetour à la page d'accueil

Différence entre une structure et un tableau

Un tableau permet de regrouper des éléments de même type, c'est-à-direcodés sur le même nombre de bit et de la même façon. Toutefois, il estgénéralement utile de pouvoir rassembler des éléments de type différentstels que des entiers et des chaînes de caractères.

Les structures permettent de remédier à cette lacune des tableaux, en regroupantdes objets (des variables) au sein d'une entité repérée par un seul nom de variable.
Les objets contenus dans la structure sont appelés champs de la structure.

Déclaration d'une structure

Lors de la déclaration de la structure, on indique les champs de la structure, c'est-à-direle type et le nom des variables qui la composent:

struct Nom_Structure {type_champ1 Nom_Champ1;type_champ2 Nom_Champ2;type_champ3 Nom_Champ3;type_champ4 Nom_Champ4;type_champ5 Nom_Champ5;...};

La dernière accolade doit être suivie d'un point-virgule!
Merci à Stéphane, un visiteur, d'avoir signalé ce point !

  • Le nom des champs répond aux critères des noms de variable
  • Deux champs ne peuvent avoir le même nom
  • Les données peuvent être de n'importe quel type hormis le type de la structure dans laquelle elles se trouvent

Ainsi, la structure suivante est correcte:

struct MaStructure {int Age;char Sexe;char Nom[12];float MoyenneScolaire;struct AutreStructure StructBis; /* en considerant que la structure AutreStructure est definie */};

Par contre la structure suivante est incorrecte:

struct MaStructure {int Age;char Age;struct MaStructure StructBis;};

Il y a deux raisons à cela:
  • Le nom de variable Age n'est pas unique
  • Le type de donnée struct MaStructure n'est pas autorisé
La déclaration d'une structure ne fait que donner l'allure de la structure, c'est-à-direen quelque sorte une définition d'un type de variable complexe. La déclaration ne réserve donc pas d'espace mémoire pour une variable structurée (variable de type structure), il faut donc définir une(ou plusieurs) variable(s) structurée(s) après avoir déclarée la structure...

Définition d'une variable structurée

La définition d'une variable structurée est une opération qui consisteà créer une variable ayant comme type celui d'une structure que l'on a précédemmentdéclaré, c'est-à-dire la nommer et lui réserver un emplacement en mémoire.
La définition d'une variable structurée se fait comme suit:

struct Nom_Structure Nom_Variable_Structuree;
Nom_Structure représente le nom d'une structure que l'on aura préalablement déclarée.
Nom_Variable_Structuree est le nom que l'on donne à la variable structuree.

Il va de soi que, comme dans le cas des variables on peut définir plusieurs variablesstructurées en les séparant avec des virgules:

struct Nom_Structure Nom1, Nom2, Nom3, ...;

Soit la structure Personne:

struct Personne{int Age;char Sexe;};
On peut définir plusieurs variables structurées:
struct Personne Pierre, Paul, Jacques;

Accès aux champs d'une variable structurée

Chaque variable de type structure possède des champs repérés avec des nomsuniques. Toutefois le nom des champs ne suffit pas pour y accéder étant donnéqu'ils n'ont de contexte qu'au sein de la variable structurée...
Pour accéder aux champs d'une structure on utilise l'opérateur de champ (un simple point)placé entre le nom de la variable structurée que l'on a définit et le nom du champ:

Nom_Variable.Nom_Champ;

Ainsi, pour affecter des valeurs à la variable Pierre (variable de type struct Personnedéfinie précédemment), on pourra écrire:

Pierre.Age = 18;Pierre.Sexe = 'M';

Tableaux de structures

Etant donné qu'une structure est composée d'éléments de taille fixes,il est possible de créer un tableau ne contenant que des éléments du typed'une structure donnée. Il suffit de créer un tableau dont le type est celui de la structure et de le repérer par un nom de variable:

struct Nom_Structure Nom_Tableau[Nb_Elements];

Chaque élément du tableau représente alors une structure du type que l'on a défini...
Le tableau suivant (nommé Repertoire) pourra par exemple contenir 8 variables structuréesde type struct Personne:

struct Personne Repertoire[8];

De la même façon, il est possible de manipuler des structures dans les fonctions.


Page précédente Page suivante

 
Ce document intitulé «Langage C - Les structures» issu de CommentCaMarche.net est soumis à la licence GNU FDL.Vous pouvez copier, modifier des copies de cette page tant que cette note apparaît clairement.
 

Qui sommes nous - infos légales - contact - liens - plan du site
Copyright © 2004 infoclick - 05 62 07 79 73 - Hôtel d'entreprise / ZI du Pont Peyrin 32600 Isle Jourdain
Valid XHTML 1.0! Valid CSS!