Toegang 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
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; }
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
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; }
De functie strcpy() wordt gebruikt om de opgegeven (“Si”) string naar het veld name[3] van de aangemaakte variabele te kopiëren.
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.
- Vermenigvuldig binnen
productCosthet veldpricemet het veldquantity. - Maak in
maineen Product-object aan met een naam, prijs en hoeveelheid. - Gebruik
printfom de naam, prijs, hoeveelheid en totale kosten van het product weer te geven (doorproductCostaan te roepen).
Oplossing
Bedankt voor je feedback!
single
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Geweldig!
Completion tarief verbeterd naar 4.35
Toegang 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
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; }
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
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; }
De functie strcpy() wordt gebruikt om de opgegeven (“Si”) string naar het veld name[3] van de aangemaakte variabele te kopiëren.
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.
- Vermenigvuldig binnen
productCosthet veldpricemet het veldquantity. - Maak in
maineen Product-object aan met een naam, prijs en hoeveelheid. - Gebruik
printfom de naam, prijs, hoeveelheid en totale kosten van het product weer te geven (doorproductCostaan te roepen).
Oplossing
Bedankt voor je feedback!
single