Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Accès aux Champs de Structure | Introduction aux Structs
Maîtriser les Structs en C

bookAccès aux Champs de Structure

Après avoir créé une structure pour décrire un élément chimique, il est enfin possible d'interagir avec celle-ci.

Pour accéder aux informations contenues dans la structure, il faut utiliser l'opérateur ..

L'opérateur . permet d'accéder directement aux éléments (champs) de la structure.

<struct>.<field>;

De cette manière, il est possible d'accéder à un membre de la structure.

Affichage des informations concernant le silicium à l'écran :

main.c

main.c

copy
123456789101112131415161718192021
#include "stdio.h" struct chemicalElement { char name[3]; int atomicNumber; int valency; double mass; }; int main() { struct chemicalElement silicon = { "Si", 14, 4, 28.08 }; printf("Name: %s\n", silicon.name); printf("Atomic Number: %d\n", silicon.atomicNumber); printf("Valency: %d\n", silicon.valency); printf("Mass: %f", silicon.mass); return 0; }
Note
Remarque

Les pointeurs sont également largement utilisés pour accéder aux champs d'une structure, mais ce sujet sera abordé ultérieurement.

Si vous utilisez la seconde méthode pour créer une variable de structure, il est nécessaire d'attribuer une valeur à silicon.name à l'aide de strcpy(), puis de l'afficher avec printf().

main.c

main.c

copy
12345678910111213141516171819202122232425
#include "stdio.h" #include <string.h> struct chemicalElement { char name[3]; int atomicNumber; int valency; double mass; } silicon; int main() { strcpy(silicon.name,"Si"); // using `strcpy()` silicon.atomicNumber = 14; silicon.valency = 4; silicon.mass = 28.08; printf("Name: %s\n", silicon.name); printf("Atomic Number: %d\n", silicon.atomicNumber); printf("Valency: %d\n", silicon.valency); printf("Mass: %f", silicon.mass); return 0; }
Note
Remarque

La fonction strcpy() est utilisée pour copier la chaîne spécifiée (« Si ») dans le champ name[3] de la variable créée.

Tâche

Swipe to start coding

Vous disposez d'une structure Product qui stocke des informations sur un produit dans un magasin : son nom, son prix et sa quantité. Votre tâche consiste à calculer le coût total d'un produit en multipliant son prix par sa quantité.

La fonction productCost prend un paramètre de type Product.

  1. À l'intérieur de productCost, multipliez le champ price par le champ quantity.
  2. Dans main, créez un objet Product avec un nom, un prix et une quantité.
  3. Utilisez printf pour afficher le nom, le prix, la quantité et le coût total du produit (en appelant productCost).

Solution

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 5
single

single

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Suggested prompts:

Can you show me an example of how to use the `.` operator with a struct?

How do I use `strcpy()` to assign a value to a struct field?

Can you explain how to display struct fields using `printf()`?

close

bookAccès aux Champs de Structure

Glissez pour afficher le menu

Après avoir créé une structure pour décrire un élément chimique, il est enfin possible d'interagir avec celle-ci.

Pour accéder aux informations contenues dans la structure, il faut utiliser l'opérateur ..

L'opérateur . permet d'accéder directement aux éléments (champs) de la structure.

<struct>.<field>;

De cette manière, il est possible d'accéder à un membre de la structure.

Affichage des informations concernant le silicium à l'écran :

main.c

main.c

copy
123456789101112131415161718192021
#include "stdio.h" struct chemicalElement { char name[3]; int atomicNumber; int valency; double mass; }; int main() { struct chemicalElement silicon = { "Si", 14, 4, 28.08 }; printf("Name: %s\n", silicon.name); printf("Atomic Number: %d\n", silicon.atomicNumber); printf("Valency: %d\n", silicon.valency); printf("Mass: %f", silicon.mass); return 0; }
Note
Remarque

Les pointeurs sont également largement utilisés pour accéder aux champs d'une structure, mais ce sujet sera abordé ultérieurement.

Si vous utilisez la seconde méthode pour créer une variable de structure, il est nécessaire d'attribuer une valeur à silicon.name à l'aide de strcpy(), puis de l'afficher avec printf().

main.c

main.c

copy
12345678910111213141516171819202122232425
#include "stdio.h" #include <string.h> struct chemicalElement { char name[3]; int atomicNumber; int valency; double mass; } silicon; int main() { strcpy(silicon.name,"Si"); // using `strcpy()` silicon.atomicNumber = 14; silicon.valency = 4; silicon.mass = 28.08; printf("Name: %s\n", silicon.name); printf("Atomic Number: %d\n", silicon.atomicNumber); printf("Valency: %d\n", silicon.valency); printf("Mass: %f", silicon.mass); return 0; }
Note
Remarque

La fonction strcpy() est utilisée pour copier la chaîne spécifiée (« Si ») dans le champ name[3] de la variable créée.

Tâche

Swipe to start coding

Vous disposez d'une structure Product qui stocke des informations sur un produit dans un magasin : son nom, son prix et sa quantité. Votre tâche consiste à calculer le coût total d'un produit en multipliant son prix par sa quantité.

La fonction productCost prend un paramètre de type Product.

  1. À l'intérieur de productCost, multipliez le champ price par le champ quantity.
  2. Dans main, créez un objet Product avec un nom, un prix et une quantité.
  3. Utilisez printf pour afficher le nom, le prix, la quantité et le coût total du produit (en appelant productCost).

Solution

Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 5
single

single

some-alt