Structures en C

Structures C



En C, une structure est une variable définie par l'utilisateur utilisée pour stocker une collection de variables sous une seule entité. Utilisons une analogie simple pour expliquer la mise en œuvre et l'utilité des structures en C.

Supposons que nous voulions stocker des informations sur les utilisateurs utilisant un service spécifique. Ces informations peuvent inclure le nom d'utilisateur, l'e-mail, l'adresse, le mode de service, etc. Pour stocker de telles informations, nous pouvons créer chaque attribut en tant que variable autonome. Cependant, lorsque nous avons plus de dix utilisateurs, le code peut devenir incontrôlable et devenir très difficile et fastidieux à lire.







Pour résoudre ce problème, nous pouvons créer une structure. À l'intérieur de la structure, nous pouvons stocker tous les attributs partagés par tous les utilisateurs, puis ajouter des variables uniques pour chaque utilisateur.



Jetons un coup d'œil à divers exemples pour voir comment implémenter cela.



Comment définir une structure en C

Pour définir une structure en C, nous utilisons le mot-clé struct suivi du nom de la structure. Après le nom, nous avons une paire d'accolades où nous ajoutons les membres.





Considérez la syntaxe ci-dessous :

structurenom_struct
{
/* Les données */
tapez nom_membre;
tapez nom_membre2;
tapez nom_membre3;

...
tapernom_membreN;
};

Le nom de la structure peut être ce que vous voulez tant qu'il respecte la convention de nommage du langage de programmation C.



Nous pouvons implémenter un exemple de structure de l'analogie de l'utilisateur comme :

structureutilisateurs
{
carboniserNom d'utilisateur[vingt];
carbonisere-mail[225];
carboniseradresse[cinquante];
entierâge;
bool enregistré;
};

Comment créer des variables de structure

Il existe deux manières principales de créer des variables de structure. La première consiste à les déclarer comme des variables normales, et l'autre à les définir à l'aide d'accolades.

L'exemple ci-dessous montre comment déclarer des variables de structure en tant que variables C standard.

structureutilisateurs
{
carboniserNom d'utilisateur[vingt];
carbonisere-mail[225];
carboniseradresse[cinquante];
entierâge;
bool enregistré;
};

entierprincipale(entierargc, carboniser const *argv[])
{
structureutilisateurs utilisateur1,utilisateur2,utilisateur3
revenir 0;
}

L'autre méthode de création de variables de structure est illustrée ci-dessous :

structureutilisateurs
{
carboniserNom d'utilisateur[vingt];
carbonisere-mail[225];
carboniseradresse[cinquante];
entierâge;
bool enregistré;
}utilisateur1,utilisateur2,utilisateur3;

Dans cet exemple, nous les créons lors de la déclaration de la structure.

Init de membre de structure

Vous ne pouvez pas initialiser les membres de la structure lors de la création car il n'y a pas de mémoire allouée pour le type.

Pour initialiser les membres d'une structure, vous utilisez les accolades comme indiqué ci-dessous :

structureutilisateurs
{
carboniserNom d'utilisateur[vingt];
carbonisere-mail[225];
carboniseradresse[cinquante];
entierâge;
bool enregistré;
};
entierprincipale(entierargc, carboniser const *argv[])
{
structureutilisateurs utilisateur1= {'Mon nom d'utilisateur', ' [email protégé] ', 35, vrai}
revenir 0;
}

Membres de la structure d'accès

Pour accéder aux membres d'une structure, nous utilisons l'opérateur point, en commençant par le nom de la structure, un point et le nom du membre.

structureutilisateurs
{
carboniserNom d'utilisateur[vingt];
carbonisere-mail[225];
carboniseradresse[cinquante];
entierâge;
bool enregistré;
};
entierprincipale(entierargc, carboniser const *argv[])
{
structureutilisateurs utilisateur1= {'Mon nom d'utilisateur', ' [email protégé] ', 35, vrai}
utilisateur1.e-mail = ' [email protégé] '
revenir 0;
}

Dans cet exemple, nous accédons aux membres de user1.

Mot-clé de définition de type

Nous utilisons le mot-clé typedef pour créer un alias pour les types de données, rendant le code plus lisible.

Par exemple:

typedef structureutilisateurs
{
carboniserNom d'utilisateur[vingt];
carbonisere-mail[225];
carboniseradresse[cinquante];
entierâge;
bool enregistré;
}vous;
entierprincipale(entierargc, carboniser const *argv[])
{
u utilisateur1= {'Mon nom d'utilisateur', ' [email protégé] ', 35, vrai}
utilisateur1.inscrit = faux
revenir 0;
}

Dans l'exemple ci-dessus, nous avons créé un alias u pour la structure des utilisateurs. Par conséquent, nous n'avons pas besoin d'appeler les utilisateurs struct à chaque fois. Nous pouvons utiliser u comme défini ci-dessus.

Pointeurs de structure

Vous pouvez également avoir un pointeur vers une structure. Cela vous permet d'accéder aux membres à l'aide de l'opérateur ->.

Par exemple:

typedef structureutilisateurs
{
carboniserNom d'utilisateur[vingt];
carbonisere-mail[225];
carboniseradresse[cinquante];
entierâge;
bool enregistré;
}vous;
entierprincipale(entierargc, carboniser const *argv[])
{
u utilisateur1= {'Mon nom d'utilisateur', ' [email protégé] ', 35, vrai}

// pointeur vers une autre structure
vous*user_ptr= &utilisateur1
user_ptr->Nom d'utilisateur= 'nom d'utilisateur'
revenir 0;
}

Conclusion

Ce guide couvre les bases de l'utilisation des structures dans le langage de programmation C.

Merci pour la lecture!