Structure en c

Structure en c
La structure est un concept important en C. Il existe deux types de types de données qui existent en C. Ce sont des types de données primitifs et des types de données non primitifs ou définis par l'utilisateur. La structure est un exemple de type de données non primitif.

Qu'est-ce que la structure

La structure est un moyen de regrouper les variables. Parfois, nous devons stocker des informations dans un groupe.

Supposons que nous devons stocker 100 étudiants. Les informations signifient leur nom, leur adresse, le mobile non, le sexe, les marques, les agrégats, etc. Dans cette situation, si nous stockons ces données aux multiples variables pour chaque étudiant, le programme devient très complexe et augmente la vitesse d'exécution du programme.

Pour réduire ce problème, nous introduisons la structure. À l'aide de la structure, nous pouvons pouvoir regrouper ces variables de chaque élève en une seule variable.

La structure est une collection d'éléments différents. Difficile signifie que nous pouvons stocker différentes valeurs de type de données comme int, char, float, string, etc.

Si nous stockons les informations d'un étudiant, nous devons stocker son nom, marques, mobile non, etc. Le nom est une chaîne; Une marque est un flotteur; Mobile No est un tableau entier. C'est donc un groupe d'éléments différents.

La définition de la structure signifie créer un nouveau type de données, Et nous savons que la création d'un nouveau type de données signifie que nous utilisons ici le type de données non primitif.

Comment définir une structure

Date de structure // Définition d'une structure;

int d, m, y;
;
Struct Student // Définition d'une autre structure;

int roll_no;
Nom de char [30];
en âge;

La date susmentionnée et les étudiants sont de nouveaux types de données appelés types de données définies par l'utilisateur. Ce type de type de données doit être défini dans notre programme. Étant donné que le type de données primitif est défini en C, mais le type de données non primitif n'est pas défini en C, il doit être défini par l'utilisateur. Pour cela, nous devons écrire un mot-clé appelé structure Avant le nom du type de données défini par l'utilisateur.

Consommation de mémoire

Aucune mémoire n'est consommée pour une définition de la structure. Parce que la mémoire est consommée pour la déclaration d'une variable mais pas dans le cas de la définition du type de données.

La définition de la structure signifie créer un nouveau type de données; La mémoire n'est pas consommée. La mémoire est consommée au moment de la déclaration d'un type particulier de variable

Où pouvons-nous définir la structure

Nous pouvons définir une structure comme localement ou mondialement en fonction de l'exigence du programme.

Comment créer des variables à travers la structure

Exemple de programmation 1:

#inclure
Date de structure // Définition d'une structureglobally;

int d, m, y;
;
Date de structure D1;
int main()

d1.d = 24; // attribuant des valeurs aux variables membre de D1;
d1.M = 4;
d1.y = 2022;
printf («Date est:% d% d% d«, d1.D, D1.M, D1.y);
RetUn0;

Sortir

Explication

Ici, nous créons un type de données de date à l'échelle mondiale. Pour définir un type de données de date, nous utilisons des mots clés struct. Maintenant, nous déclarons une variable D1 sans initialisation. À l'intérieur de la fonction principale, nous attribuons les valeurs de la variable membre de la date; Ils sont d1.D, D1.M, D1.y. Maintenant, nous imprimons les valeurs.

Exemple de programmation 2

#inclure
Date de structure // Définition d'une structure à l'échelle mondiale;

int d, m, y;
;
int main()

Date de structure d1 = 24, 4, 2022;
// Déclaration et affectation des valeurs localement;
printf («Date est:% d% d% d«, d1.D, D1.M, D1.y);
retour 0;

Sortir

Explication

Ici, nous définissons le type de données de date à l'échelle mondiale. À l'intérieur de la fonction Main (), nous déclarons et attribuons une variable D1 du type de données de date. Donc cette variable D1 agit comme une variable locale. Ici, les valeurs vont automatiquement à la variable membre de la date. Maintenant, nous imprimons la date.

Exemple de programmation 3

#inclure
Date de structure // Définition d'une structure à l'échelle mondiale;

int d, m, y;
;
Date de structure D1;
int main()

printf («Entrez une date:»);
scanf («% d /% d /% d» et d1.D et D1.y, & d1.y); // Entrer la date de l'utilisateur;
printf («Date est:% d% d% d«, d1.D, D1.M, D1.y);
retour 0;

Sortir

Structure auto-référentielle

La structure auto-référentielle est également une structure. C'est une structure avec des pointeurs qui pointe vers le même type de structure qu'un membre. Nous montrons un exemple ci-dessous.

Exemple de programmation 4

#inclure
int main()

nœud de structure

données int;
link nœud structure *;
;
nœud struct n1;
N1. données = 5;
N1 . link = null;
nœud struct n2;
n2. Données = 7;
n2. Link = null;
N1. Link = & n2; // L'adresse de N2 est affectée à la partie de liaison de N1.
printf («La valeur des données est:% d», n1. données ) ;
printf («La valeur du lien est:% d», n1. lien -> data);
retour 0;

Sortir

Explication

Le programme ci-dessus est un exemple de structure auto-référentielle. Ici, nous créons un type de données défini par l'utilisateur appelé un nœud. Il a deux membres de données dans son corps. L'une est les données; Un autre est lié. Le lien est un pointeur quel type est le type de nœud. Cela signifie qu'il peut contenir l'adresse des données de type de nœud uniquement. Maintenant, nous créons une variable N1 qui est un type de données de type de nœud. Ici, nous attribuons une valeur de type int 5. Dans la partie liée, nous attribuons null.

Une autre variable, B, est également un type de données de nœud. 7 et null sont stockés dans leurs membres de données respectives. L'aspect important est que nous stockons l'adresse de B au lien d'un. Cela signifie que le lien d'une variable pointe désormais à la variable B. Il est appelé structure auto-référentielle.

Application de la structure auto-référentielle

La structure auto-référentielle est largement utilisée dans le domaine de la liste des liens, arbres.

Conclusion

D'après le concept de structure, nous avons conclu que l'exigence de structure en C est très importante. Grâce à la structure, nous pouvons créer notre propre type de données en fonction de l'exigence du programme. Grâce à la structure, nous pouvons stocker différents types de métadonnées.