Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Arrays med structs | Forståelse af Structs og Hukommelse
C Structs
Sektion 3. Kapitel 4
single

single

Arrays med structs

Stryg for at vise menuen

Oprettelse af et array fra strukturer er ikke anderledes end at oprette et array med andre datatyper.

sruct+arrays

Adgang til elementerne i et sådant array foregår på samme måde som for almindelige arrays via indekser.

struct Person {
    char name[50];
    int age;
    double height;
};

struct Person people[2];
Array+af+strukturer

Som et eksempel oprettes et array af strukturer, der gemmer information om en person.

main.c

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; }

Hvert element i people-arrayet repræsenterer en separat Person-struktur. Felterne for en bestemt person kan tilgås ved hjælp af array-indekset, for eksempel: people[0].name eller people[1].age.

Derefter gennemløber vi hele arrayet med en for-løkke og udskriver informationen om hver person på skærmen.

Brug af arrays af strukturer gør det muligt at gemme flere objekter af samme type ét sted og nemt tilgå dem via indeks, hvilket er særligt nyttigt ved arbejde med store datasæt.

Opgave

Swipe to start coding

Implementér en funktion calculateWarehouseTotal, der beregner den samlede værdi af alle produkter opbevaret på et lager. Hvert produkt har et navn, en mængde og en pris. Funktionen skal iterere gennem arrayet af produkter og beregne summen af quantity * price for alle varer.

  1. Inde i funktionen calculateWarehouseTotal oprettes en variabel total, der initialiseres til 0.0f.
  2. Brug en for-løkke til at iterere fra indeks 0 til n.
  3. For hvert produkt multipliceres quantity med price, og resultatet lægges til total.
  4. Returnér den endelige værdi af total som den samlede lageromkostning.

Løsning

Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 4
single

single

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

some-alt