Une introduction aux structures C
En utilisant lestruct
mot-clé, nous pouvons créer des structures de données complexes en utilisant des types C de base.
Une structure est une collection de valeurs de différents types.Tableauxen C sont limités à un type, les structures peuvent donc s'avérer très intéressantes dans de nombreux cas d'utilisation.
C'est la syntaxe d'une structure:
struct <structname> {
//...variables
};
Exemple:
struct person {
int age;
char *name;
};
Vous pouvez déclarer des variables qui ont pour type cette structure en les ajoutant après l'accolade fermante, avant le point-virgule, comme ceci:
struct person {
int age;
char *name;
} flavio;
Ou plusieurs, comme ceci:
struct person {
int age;
char *name;
} flavio, people[20];
Dans ce cas, je déclare un seulperson
variable nomméeflavio
, et un tableau de 20person
nommépeople
.
Nous pouvons également déclarer des variables plus tard, en utilisant cette syntaxe:
struct person {
int age;
char *name;
};
struct person flavio;
Nous pouvons initialiser une structure au moment de la déclaration:
struct person {
int age;
char *name;
};
struct person flavio = { 37, “Flavio” };
et une fois que nous avons une structure définie, nous pouvons accéder aux valeurs qu'elle contient en utilisant un point:
struct person {
int age;
char *name;
};
struct person flavio = { 37, “Flavio” };
printf("%s, age %u", flavio.name, flavio.age);
Nous pouvons également modifier les valeurs en utilisant la syntaxe dot:
struct person {
int age;
char *name;
};
struct person flavio = { 37, “Flavio” };
flavio.age = 38;
Les structures sont très utiles car nous pouvons les transmettre en tant que paramètres de fonction, ou renvoyer des valeurs, en y incorporant diverses variables, et chaque variable a une étiquette.
Il est important de noter que les structures sontpassé par copie, sauf si bien sûr vous passez unaiguilleà une structure, auquel cas il est passé par référence.
Utilisanttypedef
nous pouvons simplifier le code lorsque vous travaillez avec des structures.
Faisons un exemple:
typedef struct {
int age;
char *name;
} PERSON;
La structure que nous créons en utilisant
typedef
est généralement, par convention, en majuscules.
Maintenant, nous pouvons déclarer un nouveauPERSON
des variables comme celle-ci:
PERSON flavio;
et nous pouvons les initialiser lors de la déclaration de cette manière:
PERSON flavio = { 37, "Flavio" };
Téléchargez mon gratuitManuel C
Plus de tutoriels clang:
- Introduction au langage de programmation C
- C Variables et types
- Constantes C
- Opérateurs C
- C Conditionnels
- Comment travailler avec des boucles en C
- Introduction aux tableaux C
- Comment déterminer la longueur d'un tableau en C
- Introduction aux chaînes C
- Comment trouver la longueur d'une chaîne en C
- Introduction aux pointeurs C
- Boucle à travers un tableau avec C
- Booléens en C
- Introduction aux fonctions C
- Comment utiliser NULL en C
- Concepts d'E / S de base en C
- Guillemets doubles vs guillemets simples en C
- Comment renvoyer une chaîne à partir d'une fonction C
- Comment résoudre l'avertissement de fonction de bibliothèque déclarant implicitement dans C
- Comment vérifier une valeur de caractère en C
- Comment imprimer le caractère de pourcentage en utilisant `printf ()` en C
- Spécificateurs et modificateurs de conversion C
- Comment accéder aux paramètres de ligne de commande en C
- Portée des variables en C
- Pouvez-vous imbriquer des fonctions dans C?
- Variables statiques en C
- Variables globales C
- Le mot-clé typedef en C
- C Types énumérés
- Structures C
- Fichiers d'en-tête C
- Le préprocesseur C