Structures C

Une introduction aux structures C

En utilisant lestructmot-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 seulpersonvariable nomméeflavio, et un tableau de 20personnommé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.

Utilisanttypedefnous 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 utilisanttypedefest généralement, par convention, en majuscules.

Maintenant, nous pouvons déclarer un nouveauPERSONdes 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: