Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Toegang tot Struct-Velden | Introductie tot Structs
C-Structs Beheersen

bookToegang tot Struct-Velden

Nadat we een structuur hebben aangemaakt om een chemisch element te beschrijven, kunnen we er eindelijk mee werken.

Om toegang te krijgen tot de informatie in de structuur, moeten we de .-operator gebruiken.

De .-operator stelt ons in staat om direct toegang te krijgen tot de elementen (velden) van de structuur.

<struct>.<field>;

Op deze manier krijgen we toegang tot een lid van de structuur.

Laten we proberen informatie over silicium op het scherm weer te geven:

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
Opmerking

Pointers worden ook veel gebruikt om velden van structuren te benaderen, maar dat behandelen we later.

Als je de tweede methode gebruikt om een struct-variabele aan te maken, moet je een waarde toewijzen aan silicon.name met behulp van strcpy(), en deze vervolgens weergeven met 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
Opmerking

De functie strcpy() wordt gebruikt om de opgegeven (“Si”) string naar het veld name[3] van de aangemaakte variabele te kopiëren.

Taak

Swipe to start coding

Je hebt een Product-structuur die informatie opslaat over een product in een winkel: de naam, prijs en hoeveelheid. Je taak is om de totale kosten van een product te berekenen door de prijs te vermenigvuldigen met de hoeveelheid.

De functie productCost neemt een Product als parameter.

  1. Vermenigvuldig binnen productCost het veld price met het veld quantity.
  2. Maak in main een Product-object aan met een naam, prijs en hoeveelheid.
  3. Gebruik printf om de naam, prijs, hoeveelheid en totale kosten van het product weer te geven (door productCost aan te roepen).

Oplossing

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 1. Hoofdstuk 5
single

single

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

close

bookToegang tot Struct-Velden

Veeg om het menu te tonen

Nadat we een structuur hebben aangemaakt om een chemisch element te beschrijven, kunnen we er eindelijk mee werken.

Om toegang te krijgen tot de informatie in de structuur, moeten we de .-operator gebruiken.

De .-operator stelt ons in staat om direct toegang te krijgen tot de elementen (velden) van de structuur.

<struct>.<field>;

Op deze manier krijgen we toegang tot een lid van de structuur.

Laten we proberen informatie over silicium op het scherm weer te geven:

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
Opmerking

Pointers worden ook veel gebruikt om velden van structuren te benaderen, maar dat behandelen we later.

Als je de tweede methode gebruikt om een struct-variabele aan te maken, moet je een waarde toewijzen aan silicon.name met behulp van strcpy(), en deze vervolgens weergeven met 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
Opmerking

De functie strcpy() wordt gebruikt om de opgegeven (“Si”) string naar het veld name[3] van de aangemaakte variabele te kopiëren.

Taak

Swipe to start coding

Je hebt een Product-structuur die informatie opslaat over een product in een winkel: de naam, prijs en hoeveelheid. Je taak is om de totale kosten van een product te berekenen door de prijs te vermenigvuldigen met de hoeveelheid.

De functie productCost neemt een Product als parameter.

  1. Vermenigvuldig binnen productCost het veld price met het veld quantity.
  2. Maak in main een Product-object aan met een naam, prijs en hoeveelheid.
  3. Gebruik printf om de naam, prijs, hoeveelheid en totale kosten van het product weer te geven (door productCost aan te roepen).

Oplossing

Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 1. Hoofdstuk 5
single

single

some-alt