Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Langue C

Maîtriser les structures en C : Définition, variables, accès et exemples avancés

Maîtriser les structures en C

Apprenez à définir, créer et utiliser les structures en C avec des exemples clairs et des bonnes pratiques.

Qu'est-ce qu'une structure en C ?

Une struct (structure) est un type de données composite qui regroupe des variables de types différents sous un seul nom. C'est la base pour créer des structures de données complexes en C.


Définition d'une structure

Avant de pouvoir créer des variables d'un type struct, vous devez définir le type. Le mot-clé struct introduit la définition :

struct structureName {
    dataType member1;
    dataType member2;
    … 
};

Exemple :

struct Person {
    char name[50];
    int citNo;
    float salary;
};

Cela crée un nouveau type appelé struct Person. Vous pouvez maintenant déclarer des variables de ce type.


Création de variables de structure

La définition d'un type struct n'alloue pas de mémoire. Pour l'utiliser, déclarez des variables :

struct Person {
    // membres
};
int main() {
    struct Person person1, person2, p[20];
    return 0;
}

Alternativement, combinez la définition et la déclaration de variables :

struct Person {
    // membres
} person1, person2, p[20];

Accès aux membres d'une structure

Deux opérateurs permettent d'accéder aux membres :

  1. . – Opérateur d'accès aux membres.
  2. -> – Opérateur d'accès aux membres via pointeur (couvert dans un tutoriel séparé).

Pour lire ou modifier le salary de person2 :

person2.salary

Exemple 1 : Utilisation d'une structure en C

#include <stdio.h>
#include <string.h>
struct Person {
    char name[50];
    int citNo;
    float salary;
} person1;
int main() {
    strcpy(person1.name, "George Orwell");
    person1.citNo = 1984;
    person1.salary = 2500;
    printf("Nom : %s\n", person1.name);
    printf("Numéro de citoyenneté : %d\n", person1.citNo);
    printf("Salaire : %.2f", person1.salary);
    return 0;
}

Sortie

Nom : George Orwell
Numéro de citoyenneté : 1984
Salaire : 2500.00

Notez que strcpy() copie la chaîne dans le tableau char de taille fixe car l'opérateur d'assignation ne peut pas être utilisé directement avec les tableaux.


Utilisation de typedef avec les structures

Le mot-clé typedef crée un alias pour un type, simplifiant les déclarations :

typedef struct Distance {
    int feet;
    float inch;
} distances;
int main() {
    distances d1, d2;
}

Sans typedef, vous écririez :

struct Distance d1, d2;

Exemple 2 : Alias en pratique

#include <stdio.h>
#include <string.h>
typedef struct Person {
    char name[50];
    int citNo;
    float salary;
} person;
int main() {
    person p1;
    strcpy(p1.name, "George Orwell");
    p1.citNo = 1984;
    p1.salary = 2500;
    printf("Nom : %s\n", p1.name);
    printf("Numéro de citoyenneté : %d\n", p1.citNo);
    printf("Salaire : %.2f", p1.salary);
    return 0;
}

Sortie

Nom : George Orwell
Numéro de citoyenneté : 1984
Salaire : 2500.00

Structures imbriquées

Les structures peuvent contenir d'autres structures, permettant une modélisation hiérarchique des données :

struct complex {
    int imag;
    float real;
};
struct number {
    struct complex comp;
    int integers;
} num1, num2;

Pour définir imag de num2 à 11 :

num2.comp.imag = 11;

Exemple 3 : Structures imbriquées en action

#include <stdio.h>
struct complex {
    int imag;
    float real;
};
struct number {
    struct complex comp;
    int integer;
} num1;
int main() {
    num1.comp.imag = 11;
    num1.comp.real = 5.25;
    num1.integer = 6;
    printf("Partie imaginaire : %d\n", num1.comp.imag);
    printf("Partie réelle : %.2f\n", num1.comp.real);
    printf("Entier : %d", num1.integer);
    return 0;
}

Sortie

Partie imaginaire : 11
Partie réelle : 5.25
Entier : 6

Pourquoi utiliser les structures en C ?

Supposons que vous ayez besoin de stocker le nom, le numéro de citoyenneté et le salaire d'une personne. Sans structures, vous devriez créer des variables séparées pour chaque champ pour chaque personne, ce qui mène rapidement à la duplication de code et à la confusion. Les structures encapsulent les données liées en une seule unité logique, favorisant un code plus propre et une maintenance plus facile.


Prochaines étapes

Langue C

  1. C# Hello World — Construire votre première application C#
  2. Comprendre les mots-clés et identificateurs C# : règles, listes et bonnes pratiques
  3. Maîtriser les variables C# et types de données primitifs : guide complet
  4. Opérateurs C# — Guide complet des opérateurs en C#
  5. Maîtriser les opérateurs bit à bit et de décalage en C# : Guide complet
  6. Fondamentaux C# : Entrées et sorties essentielles
  7. Expressions, instructions et blocs C# : Guide complet avec exemples pratiques
  8. Maîtriser les commentaires C# : Types, bonnes pratiques et documentation XML
  9. Maîtriser l'instruction Switch C# : Syntaxe, exemples et bonnes pratiques