Arrays met Structs
Het aanmaken van een array van structuren is niet anders dan het aanmaken van een array met andere datatypes.
Het benaderen van de elementen van zo'n array gebeurt op dezelfde manier als bij gewone arrays, via indexen.
struct Person {
char name[50];
int age;
double height;
};
struct Person people[2];
Als voorbeeld maken we een array van structuren aan die informatie over een persoon opslaat.
main.c
12345678910111213141516171819202122232425262728293031323334353637#include <stdio.h> #include <string.h> // structure definition struct Person { char name[50]; int age; double height; }; int main() { // declaring an array of structures struct Person people[3]; strcpy(people[0].name, "Alice"); people[0].age = 25; people[0].height = 1.75; strcpy(people[1].name, "Bob"); people[1].age = 30; people[1].height = 1.80; strcpy(people[2].name, "Charlie"); people[2].age = 35; people[2].height = 1.70; // output information about people from the array for (int i = 0; i < 3; ++i) { printf("Person %d:\n", i + 1); printf("Name: %s\n", people[i].name); printf("Age: %d\n", people[i].age); printf("Height: %.2f\n", people[i].height); printf("\n"); } return 0; }
Elk element van de people array vertegenwoordigt een afzonderlijke Person structuur. We kunnen de velden van een specifieke persoon benaderen met behulp van de array-index, bijvoorbeeld: people[0].name of people[1].age.
Vervolgens doorlopen we de gehele array met een for-lus en tonen we de informatie van elke persoon op het scherm.
Het gebruik van arrays van structuren maakt het mogelijk om meerdere objecten van hetzelfde type op één plek op te slaan en deze eenvoudig via de index te benaderen, wat vooral handig is bij het werken met grote datasets.
Swipe to start coding
Implementeer een functie calculateWarehouseTotal die de totale waarde berekent van alle producten opgeslagen in een magazijn. Elk product heeft een naam, hoeveelheid en prijs. De functie moet door de array van producten itereren en de som berekenen van quantity * price voor alle items.
- Maak binnen de functie
calculateWarehouseTotaleen variabeletotalen initialiseer deze met0.0f. - Gebruik een
for-lus om te itereren van index0totn. - Vermenigvuldig voor elk product de
quantitymet depriceen tel het resultaat op bijtotal. - Retourneer de uiteindelijke waarde van
totalals de totale magazijnwaarde.
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
Arrays met Structs
Veeg om het menu te tonen
Het aanmaken van een array van structuren is niet anders dan het aanmaken van een array met andere datatypes.
Het benaderen van de elementen van zo'n array gebeurt op dezelfde manier als bij gewone arrays, via indexen.
struct Person {
char name[50];
int age;
double height;
};
struct Person people[2];
Als voorbeeld maken we een array van structuren aan die informatie over een persoon opslaat.
main.c
12345678910111213141516171819202122232425262728293031323334353637#include <stdio.h> #include <string.h> // structure definition struct Person { char name[50]; int age; double height; }; int main() { // declaring an array of structures struct Person people[3]; strcpy(people[0].name, "Alice"); people[0].age = 25; people[0].height = 1.75; strcpy(people[1].name, "Bob"); people[1].age = 30; people[1].height = 1.80; strcpy(people[2].name, "Charlie"); people[2].age = 35; people[2].height = 1.70; // output information about people from the array for (int i = 0; i < 3; ++i) { printf("Person %d:\n", i + 1); printf("Name: %s\n", people[i].name); printf("Age: %d\n", people[i].age); printf("Height: %.2f\n", people[i].height); printf("\n"); } return 0; }
Elk element van de people array vertegenwoordigt een afzonderlijke Person structuur. We kunnen de velden van een specifieke persoon benaderen met behulp van de array-index, bijvoorbeeld: people[0].name of people[1].age.
Vervolgens doorlopen we de gehele array met een for-lus en tonen we de informatie van elke persoon op het scherm.
Het gebruik van arrays van structuren maakt het mogelijk om meerdere objecten van hetzelfde type op één plek op te slaan en deze eenvoudig via de index te benaderen, wat vooral handig is bij het werken met grote datasets.
Swipe to start coding
Implementeer een functie calculateWarehouseTotal die de totale waarde berekent van alle producten opgeslagen in een magazijn. Elk product heeft een naam, hoeveelheid en prijs. De functie moet door de array van producten itereren en de som berekenen van quantity * price voor alle items.
- Maak binnen de functie
calculateWarehouseTotaleen variabeletotalen initialiseer deze met0.0f. - Gebruik een
for-lus om te itereren van index0totn. - Vermenigvuldig voor elk product de
quantitymet depriceen tel het resultaat op bijtotal. - Retourneer de uiteindelijke waarde van
totalals de totale magazijnwaarde.
Oplossing
Bedankt voor je feedback!
single