Déclarer une Struct
Fait partie de la section Logic & Flow du Journey C de Coddy — leçon 39 sur 63.
Maintenant que vous comprenez ce qu'est une struct, il est temps d'apprendre à créer vos propres types de structures. Déclarer une struct en C suit une syntaxe spécifique qui définit le modèle de votre type de données personnalisé.
La syntaxe de base pour déclarer une struct est :
struct StructureName {
datatype member1;
datatype member2;
// ... more members
};Voici comment chaque partie fonctionne : vous commencez par le mot-clé struct, suivi d'un nom pour votre structure, puis listez toutes les variables membres à l'intérieur d'accolades. Chaque membre est déclaré exactement comme une variable classique avec son type de données et son nom. N'oubliez pas le point-virgule après l'accolade fermante !
Par exemple, pour créer une structure qui représente un point dans un espace en 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 contiennent des informations de coordonnées de manière organisée.
Défi
FacileCréez un programme 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 flottant
pricepour stocker le prix du livre
- Un entier
- Après avoir défini la structure, affichez un message de confirmation :
Book struct defined successfully! - Affichez la taille de la
Bookstruct en octets en utilisantsizeof()au format :Size of Book struct: [size] bytes - Affichez la taille de chaque membre individuellement :
Size of id: [size] bytesSize of title: [size] bytesSize of pages: [size] bytesSize of price: [size] bytes
Ce défi teste votre compréhension de la syntaxe de déclaration de structure, y compris l'utilisation appropriée 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 explorerez également comment le C alloue de la mémoire pour les membres de la structure en utilisant l'opérateur sizeof().
N'oubliez pas que les valeurs de taille exactes peuvent varier en fonction de l'architecture de votre système, mais la syntaxe de définition de la structure doit être correcte pour que le programme puisse être compilé et exécuté avec succès.
Aide-mémoire
Pour déclarer une struct en C, utilisez la syntaxe suivante :
struct StructureName {
datatype member1;
datatype member2;
// ... plus de membres
};Commencez par le mot-clé struct, suivi d'un nom pour votre structure, puis listez toutes les variables membres à l'intérieur d'accolades. Chaque membre est déclaré avec son type de données et son nom. N'oubliez pas le point-virgule après l'accolade fermante !
Exemple d'une structure Point :
struct Point {
int x;
int y;
};Cela crée un nouveau type de données appelé struct Point avec deux membres entiers qui peuvent être utilisés dans tout votre programme.
Essayez vous-même
#include <stdio.h>
int main() {
// À FAIRE : Définissez votre structure Book ici
// Afficher le message de confirmation
printf("Book struct defined successfully!\n");
// À FAIRE : Afficher 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 Logic & Flow
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înes