Les structures en langage C
Fermé
Laoko
Messages postés
1
Date d'inscription
vendredi 24 octobre 2008
Statut
Membre
Dernière intervention
24 octobre 2008
-
24 oct. 2008 à 05:08
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 - 24 oct. 2008 à 13:42
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 - 24 oct. 2008 à 13:42
A voir également:
- Les structures en langage C
- Langage ascii - Guide
- Langage binaire - Guide
- Pascal langage - Télécharger - Édition & Programmation
- Langage pascal - Télécharger - Édition & Programmation
- Dev-Pascal - Télécharger - Édition & Programmation
1 réponse
mamiemando
Messages postés
33446
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
20 décembre 2024
7 812
24 oct. 2008 à 13:42
24 oct. 2008 à 13:42
Pour ce qui est de trouver des exercices en C, le plus simple c'est de chercher directement sur google, tu es le mieux placé pour trouver des exercices qui correspondent à ton niveau.
En soit, une structure en C peut être vue comme un objet qui regroupe un ensemble d'objet (soit d'autre structures, soit des types de bases comme des int). Exemple :
Afin de distinguer facilement les variables des types, je te conseille de rajouter un "_t" à la fin des types que tu définis (ici plop_t et pouet_t).
En mémoire, une structure a pour taille la somme des tailles des objets qu'elle regroupe. Par exemple sizeof(struct pouet_t) = sizeof(int) + sizeof(int) + sizeof(float). C'est pour ça que les types intervenant dans la définition d'une structure doivent être de type connu (c'est à dire soit une structure définie au préalable, soit un type de base, soit un pointeur sur une structure éventuellement pas encore définie).
Pour accéder au champ d'une structure, on utilise l'opérateur ".". Par exemple, si j'ai une structure plop (de type struct plop_t) et une structure pouet (de type struct pouet_t) je peux accéder à pouet.a ; pouet.b ; plop.p ; plop.p.a).
Supposons que j'ai à présent un pointeur pplop (type struct plop_t *) et un pointeur ppouet (type struct pouet_t *) alors je peux écrire *pouet.a (ie (*ppouet).a) ou directement pouet->a. De même je peux écrire (*pplop).p.a ou pplop->p.a.
En espérant que c'est plus clair pour toi,
bonne chance
En soit, une structure en C peut être vue comme un objet qui regroupe un ensemble d'objet (soit d'autre structures, soit des types de bases comme des int). Exemple :
struct pouet_t{ int a,b; float x; }; struct plop_t{ struct pouet_t p; int *y; }
Afin de distinguer facilement les variables des types, je te conseille de rajouter un "_t" à la fin des types que tu définis (ici plop_t et pouet_t).
En mémoire, une structure a pour taille la somme des tailles des objets qu'elle regroupe. Par exemple sizeof(struct pouet_t) = sizeof(int) + sizeof(int) + sizeof(float). C'est pour ça que les types intervenant dans la définition d'une structure doivent être de type connu (c'est à dire soit une structure définie au préalable, soit un type de base, soit un pointeur sur une structure éventuellement pas encore définie).
Pour accéder au champ d'une structure, on utilise l'opérateur ".". Par exemple, si j'ai une structure plop (de type struct plop_t) et une structure pouet (de type struct pouet_t) je peux accéder à pouet.a ; pouet.b ; plop.p ; plop.p.a).
Supposons que j'ai à présent un pointeur pplop (type struct plop_t *) et un pointeur ppouet (type struct pouet_t *) alors je peux écrire *pouet.a (ie (*ppouet).a) ou directement pouet->a. De même je peux écrire (*pplop).p.a ou pplop->p.a.
En espérant que c'est plus clair pour toi,
bonne chance