Déclarer une Struct
Fait partie de la section Logique & Flux du Journey C de Coddy. Leçon 39 sur 63.
Maintenant que tu comprends ce qu’est une struct, il est temps d’apprendre à créer tes propres types de structures. Déclarer une struct en C suit une syntaxe spécifique qui définit le modèle de ton type de données personnalisé.
La syntaxe de base pour déclarer une struct est :
struct StructureName {
datatype member1;
datatype member2;
// ... plus de membres
};Voici comment fonctionne chaque partie : tu commences par le mot-clé struct, suivi d’un nom pour ta structure, puis tu listes toutes les variables membres entre accolades. Chaque membre est déclaré comme une variable ordinaire, avec son type de données et son nom. N’oublie pas le point-virgule après l’accolade fermante !
Par exemple, pour créer une structure qui représente un point dans un espace 2D :
struct Point {
int x;
int y;
};Cette déclaration crée un nouveau type de données appelé struct Point qui contient deux membres entiers : x et y. Une fois déclaré, ce type de structure peut être utilisé dans tout votre programme pour créer des variables qui stockent les informations de coordonnées de manière organisée.
Défi
FacileCréez un programme en C qui définit une struct pour représenter un livre dans un système de bibliothèque. Votre programme doit :
- Définir une
structnomméeBookqui contient les membres suivants :- Un entier
idpour stocker le numéro d’identification du livre - Un tableau de caractères
titlede taille 50 pour stocker le titre du livre - Un entier
pagespour stocker le nombre de pages - Un nombre flottant
pricepour stocker le prix du livre
- Un entier
- Après avoir défini la structure, afficher un message de confirmation :
Book struct defined successfully! - Afficher la taille de la
Bookstruct en octets à l’aide desizeof()au format suivant :Size of Book struct: [size] bytes - Afficher individuellement la taille de chaque membre :
Size of id: [size] bytesSize of title: [size] bytesSize of pages: [size] bytesSize of price: [size] bytes
Ce défi vérifie votre compréhension de la syntaxe de déclaration d’une structure, notamment l’utilisation correcte du mot-clé struct, les déclarations de membres avec les types de données appropriés et le point-virgule après l’accolade fermante. Vous découvrirez également comment C alloue de la mémoire aux membres d’une structure à l’aide de l’opérateur sizeof().
N’oubliez pas que les valeurs exactes des tailles peuvent varier selon l’architecture de votre système, mais la syntaxe de définition de la structure doit être correcte pour que le programme se compile et s’exécute avec succès.
Essayez vous-même
#include <stdio.h>
int main() {
// TODO: Définis ta structure Book ici
// Affiche le message de confirmation
printf("Book struct defined successfully!\n");
// TODO: Affiche la taille de la structure Book et de ses membres
return 0;
}Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Logique & Flux
1Les bases des pointeurs
Qu'est-ce qu'un pointeur ?Déclaration de pointeursL'opérateur d'adresse (&)L'opérateur de déréférencement (*)Pointeurs NULLRécapitulatif : Les bases des pointeurs4Projet : Utilitaire de texte simple
Présentation du projetCompter les caractères7Structures (structs)
Qu'est-ce qu'une Struct ?Déclarer une StructCréer des variables de type StructAccéder aux membres d'une StructInitialiser des StructsRécapitulatif : Struct de données étudiant2Pointeurs et Tableaux
Noms de tableaux comme pointeursÉléments de tableau - PointeursArithmétique des pointeursComparaison de pointeursRécapitulatif : Parcours de tableau par pointeur5Pointeurs et fonctions
Passage par valeurPassage de pointeurs aux fonctionsModifier des variables via des pointeursUn exemple classique : SwapPassage de tableaux aux fonctionsRécapitulatif : Pointeurs comme arguments de fonction3Tableaux de caractères et chaînes
Les chaînes comme tableaux de charLe terminateur nulSaisie de chaînes avec scanfUtilisation de strlen()Utilisation de strcpy()Utilisation de strcat()Utilisation de strcmp()Récapitulatif : Fonctions de base sur les chaînesEntraînez-vous par vous-même : Compilateur C en ligne