Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Arrayer med Strukturer | Forståelse av Structs og Minne
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Mestre C-strukturer

bookArrayer med Strukturer

Å opprette et array av strukturer er ikke annerledes enn å opprette et array med andre datatyper.

Tilgang til elementene i et slikt array skjer på samme måte som for vanlige arrayer ved hjelp av indekser.

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

struct Person people[2];

Som et eksempel kan vi opprette et array av strukturer som lagrer informasjon om en person.

main.c

main.c

copy
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 representerer en egen Person-struktur. Vi kan få tilgang til feltene til en bestemt person ved å bruke array-indeksen, for eksempel: people[0].name eller people[1].age.

Deretter går vi gjennom hele arrayet med en for-løkke og skriver ut informasjonen om hver person til skjermen.

Ved å bruke arrayer av strukturer kan du lagre flere objekter av samme type på ett sted og enkelt få tilgang til dem via indeksen, noe som er spesielt nyttig når du arbeider med store datasett.

Oppgave

Swipe to start coding

Implementer en funksjon calculateWarehouseTotal som beregner den totale verdien av alle produkter lagret på et lager. Hvert produkt har et navn, en mengde og en pris. Funksjonen skal iterere gjennom arrayet av produkter og beregne summen av quantity * price for alle elementene.

  1. Inne i funksjonen calculateWarehouseTotal, opprett en variabel total initialisert til 0.0f.
  2. Bruk en for-løkke for å iterere fra indeks 0 til n.
  3. For hvert produkt, multipliser quantity med price og legg resultatet til total.
  4. Returner den endelige verdien av total som den totale lagerkostnaden.

Løsning

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 4
single

single

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

close

bookArrayer med Strukturer

Sveip for å vise menyen

Å opprette et array av strukturer er ikke annerledes enn å opprette et array med andre datatyper.

Tilgang til elementene i et slikt array skjer på samme måte som for vanlige arrayer ved hjelp av indekser.

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

struct Person people[2];

Som et eksempel kan vi opprette et array av strukturer som lagrer informasjon om en person.

main.c

main.c

copy
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 representerer en egen Person-struktur. Vi kan få tilgang til feltene til en bestemt person ved å bruke array-indeksen, for eksempel: people[0].name eller people[1].age.

Deretter går vi gjennom hele arrayet med en for-løkke og skriver ut informasjonen om hver person til skjermen.

Ved å bruke arrayer av strukturer kan du lagre flere objekter av samme type på ett sted og enkelt få tilgang til dem via indeksen, noe som er spesielt nyttig når du arbeider med store datasett.

Oppgave

Swipe to start coding

Implementer en funksjon calculateWarehouseTotal som beregner den totale verdien av alle produkter lagret på et lager. Hvert produkt har et navn, en mengde og en pris. Funksjonen skal iterere gjennom arrayet av produkter og beregne summen av quantity * price for alle elementene.

  1. Inne i funksjonen calculateWarehouseTotal, opprett en variabel total initialisert til 0.0f.
  2. Bruk en for-løkke for å iterere fra indeks 0 til n.
  3. For hvert produkt, multipliser quantity med price og legg resultatet til total.
  4. Returner den endelige verdien av total som den totale lagerkostnaden.

Løsning

Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 4
single

single

some-alt