0% ont trouvé ce document utile (0 vote)
2 vues5 pages

C Struct

Le document explique les structures en langage C, permettant de regrouper plusieurs variables sous un même nom pour modéliser des données complexes. Il couvre la définition, l'utilisation, l'accès aux champs, et la gestion de la mémoire des structures, ainsi que leur passage par valeur ou par référence dans les fonctions. Des exemples pratiques illustrent la création et l'initialisation de structures, ainsi que les erreurs courantes à éviter.

Transféré par

jccko2007
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 PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
2 vues5 pages

C Struct

Le document explique les structures en langage C, permettant de regrouper plusieurs variables sous un même nom pour modéliser des données complexes. Il couvre la définition, l'utilisation, l'accès aux champs, et la gestion de la mémoire des structures, ainsi que leur passage par valeur ou par référence dans les fonctions. Des exemples pratiques illustrent la création et l'initialisation de structures, ainsi que les erreurs courantes à éviter.

Transféré par

jccko2007
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 PDF, TXT ou lisez en ligne sur Scribd

P R O G R A M M AT I O N E N C | Le langage C | C - Les structures (`struct`)

C - Les structures (`struct`)


Une structure (ou struct) permet de regrouper plusieurs variables sous un même nom.
Une struct représenter des données plus complexes qu’un simple entier ou qu’un
float. Avec une structure, tu peux modéliser un élève, un produit, un point, une date…
en associant plusieurs informations dans un même ensemble logique.

5TTR 6TTR
 Découverte

Ce chapitre t’apprendra à créer, utiliser et comprendre les struct en C.

Objectifs
À la fin de cette leçon, tu sauras :

Définir une structure avec le mot-clé struct .

Déclarer et utiliser des variables de type structure.


Accéder aux champs d’une structure avec l’opérateur .

Utiliser typedef pour simplifier l’écriture.

Comprendre comment les structures sont stockées en mémoire.

Qu’est-ce qu’une structure ?


Une structure regroupe plusieurs variables (appelées champs) qui peuvent être de types différents.

Exemple : représenter un élève avec

son nom,

son âge,

sa moyenne.

Sans struct , tu aurais trois variables séparées. Avec struct , tu obtiens un seul "bloc" cohérent.

©
© 2025 Mr. Lambrechts
2025 Mr. Lambrechts [Link]
[Link] 11| | 5
5
Définir une structure
Exemple simple
1 typedef struct {
2 char nom[30];
3 int age;
4 float moyenne;
5 } Etudiant;

Ici :

nom est un tableau de 30 caractères,


age est un entier,
moyenne est un float .

Tu viens de créer un nouveau type personnalisé : struct Etudiant .

typedef permet d'utiliser ta structure plus simplement par la suite (cela te permet de faire Etudiant manu =
... au lieu de struct Etudiant manu=... quand tu déclares tes variables).

Simpl
Déclarer et utiliser une structure
1 Etudiant e1;
2
3 strcpy([Link], "Alice");
4 [Link] = 17;
5 [Link] = 14.5;
6
7 printf("%s a %d ans et %.2f de moyenne.\n", [Link], [Link], [Link]);

Accès aux champs


On utilise l’opérateur . :

[Link]
[Link]
[Link]

©
© 2025 Mr. Lambrechts
2025 Mr. Lambrechts [Link]
[Link] 22| | 5
5
Créer et initialiser en une ligne
1 struct Etudiant e2 = {"Lucas", 18, 12.8};

Structures contenant plusieurs tableaux


Oui, c’est possible. Exemple :

1 typedef struct {
2 char nom[30];
3 char prenom[40];
4 int age;
5 } Personne;

Chaque tableau peut contenir une chaîne de caractères distincte.

Lire des données dans une structure


1 Personne p;
2
3 printf("Nom : ");
4 scanf("%s", [Link]);
5
6 printf("Prénom : ");
7 scanf("%s", [Link]);
8
9 printf("Âge : ");
10 scanf("%d", &[Link]);

💡 Les tableaux ( char[] ) sont automatiquement passés par référence → pas de & .

Structures et mémoire
©
© 2025 Mr. Lambrechts
2025 Mr. Lambrechts [Link]
[Link] 33| | 5
5
Une structure regroupe ses champs de manière contiguë en mémoire.

Exemple :

struct Etudiant
{
char nom[30]; ← 30 octets
int age; ← 4 octets
float moyenne; ← 4 octets
}

La taille totale est au moins 38 octets (souvent un peu plus à cause de l’alignement mémoire).

Structures et fonctions
Une structure peut être passée à une fonction par valeur ou par référence.

Par valeur (copie)


1 void afficher(Etudiant e) {
2 printf("%s (%d ans)\n", [Link], [Link]);
3 }

Par référence (pointeur)


1 void modifier(Etudiant *e) {
2 e->age += 1;
3 }

💡 On utilise -> pour accéder aux champs via un pointeur.

À retenir
Une structure regroupe plusieurs données liées entre elles.

On accède aux champs avec . ou -> selon les cas.


typedef permet de créer un type plus simple à utiliser.
Les tableaux et chaînes dans une structure sont tout à fait possibles.

Une structure peut être passée par valeur (copie) ou par référence (adresse).

©
© 2025 Mr. Lambrechts
2025 Mr. Lambrechts [Link]
[Link] 44| | 5
5
Erreurs courantes à corriger
Oublier le ; à la fin de la définition de la structure.

Confondre tableau de char et chaîne "classique".

Mélanger . et -> .

Tenter de faire [Link] = "Alice"; au lieu de strcpy .

©
© 2025 Mr. Lambrechts
2025 Mr. Lambrechts [Link]
[Link] 55| | 5
5

Vous aimerez peut-être aussi