0% ont trouvé ce document utile (0 vote)
125 vues3 pages

Introduction aux structures en C

Le document décrit les structures en C, y compris la déclaration de modèles de structures, de variables de type structure, l'initialisation et l'utilisation de structures, les types de structures comme les structures contenant des tableaux ou d'autres structures, et les opérations sur les structures.

Transféré par

Soumaya Hidouri
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
125 vues3 pages

Introduction aux structures en C

Le document décrit les structures en C, y compris la déclaration de modèles de structures, de variables de type structure, l'initialisation et l'utilisation de structures, les types de structures comme les structures contenant des tableaux ou d'autres structures, et les opérations sur les structures.

Transféré par

Soumaya Hidouri
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

Les structures

I. Déclaration d’un modèle de structure


struct <Nom modèle>
{<Type> variable1 ;
<Type> variable2 ;
<Type> variableN ;
};
Cette déclaration définit un modèle de structure (Nouveau type) mais ne réserve pas de l’espace
mémoire (variable)
Exemples :
1. struct point
{ char design ;
double x ;
double y ;
};
2. struct produit
{ char code[5] ;
float pu ;
int qtite ;
};
3. struct complex
{ double reel ;
double img ;
};
II. Déclaration de variable de type structure

La déclaration d’une variable structure se fait comme suit :


struct <NomModèle> <NomVariableStructure> ;
Cette instruction permet de déclarer une variable nommée <NomVariableStructure> de type
struct <NomModèle>.
Exemples :
struct point cord1, cord2 ;
struct produit p1, p2 ;
struct complex nb1, nb2, nb3 ;
III. Utilisation d’une structure

Le travail avec les structures peut s’effectuer de deux façons différentes :


 individuellement sur chaque champ de la structure (en utilisant l’opérateur de champ "." ).
 de manière globale sur l’ensemble de la structure.

Exemples :
p1 = p2 ;
scanf("%d %d",cord1.x, cord1.y) ;
scanf("%lf", [Link]) ;
printf("%d ",[Link]) ;
[Link] = 'A' ; [Link] += 10 ;
cord1.x++ ; cord1.y-- ;
scanf("%lf", [Link]) ;
printf("%d ",[Link]) ;
[Link] = 'A' ; [Link] += 10 ;
cord1.x++ ; cord1.y-- ;
IV. Initialisation d’une structure
 struct produit p3 = { 'AB1', 200, 150.695 } ; // initialisation lors de la déclaration
 struct produit p3 ;

[Link] = 'Puma' ;
[Link] = 1500 ;
[Link] = 30.85 ;
V. Types de structures
1. Structure comportant des tableaux

struct etudiant
{ char nom[50] ;
char pren[50] ;
float notes[10] ;
};
struct etudiant etud1, etud2 ;
Manipulation
[Link][0]=20 ;
scanf("%f", [Link][5]) ;
printf("%f", [Link][8]) ;
strcpy([Link], "Amira") ;
2. Tableaux de structures

struct produit
{ char code ;
int qte ;
float pu ;
};
struct produit depot[25];
Manipulation
depot[0].code='A' ;
for(i=0 ; i<25 ; i++)
{ scanf("%f %d", depot[i].qte, depot[i].pu) ;
depot[i].code=getchar() ;
}
NB :
depot[i] : ième élément du tableau depot
depot[i].code : le code du produit de rang i du tableau depot
3. Structures comportant d’autres structures

struct date
{ int jj ;
int mm ;
int aa ; } ;
struct livre
{ char auteur[40] ;
int titre[50] ;
struct date date_edit
struct date date_sortie ;
};
struct livre l1, l2;
Manipulation
l1.date_edit.jj = 20 ;
l1.date_edit.mm = 12 ;
l1.date_edit.aa = 2003 ;
l1.date_edit = l2.date_sortie ;
4. Structures sans nom de modèle (type)

struct
{ char nom[20];
int age ;
} x1, x2 ;
Inconvenient :
On ne sait pas de quoi s’agit-t-il
Invisibilité lorsqu’il existe plusieurs structures sans nom de type (manque de lisibilité).
VI. Opérations sur les structures
1. Affectation

struct date d1, d2;


d1 = d2 affectation globale de variables de type structure
struct livre l1, l2;
Affectation entre les champs de structures
strcpy([Link], [Link])
l1.date_edit = l2.date_sortie
2. Opérateur de champs

[Link]
l2.date_edit
l1.date_sortie.aa
C’est le point qui sépare le nom de structure et son champ
3. Comparaison

if(d1 == d2)  comparaison globale de variables de type structure


if( !strcmp([Link], [Link]))
 Comparaison entre les champs de structures
if([Link] >= [Link]
4. Dimension
printf(" %d", sizeof(struct livre)) dimension d’un type structure
printf(" %d", sizeof(d1))  dimension d’une variable structure

Vous aimerez peut-être aussi