Arrayer 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
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.
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.
- Inne i funksjonen
calculateWarehouseTotal, opprett en variabeltotalinitialisert til0.0f. - Bruk en
for-løkke for å iterere fra indeks0tiln. - For hvert produkt, multipliser
quantitymedpriceog legg resultatet tiltotal. - Returner den endelige verdien av
totalsom den totale lagerkostnaden.
Løsning
Takk for tilbakemeldingene dine!
single
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Fantastisk!
Completion rate forbedret til 4.35
Arrayer 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
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.
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.
- Inne i funksjonen
calculateWarehouseTotal, opprett en variabeltotalinitialisert til0.0f. - Bruk en
for-løkke for å iterere fra indeks0tiln. - For hvert produkt, multipliser
quantitymedpriceog legg resultatet tiltotal. - Returner den endelige verdien av
totalsom den totale lagerkostnaden.
Løsning
Takk for tilbakemeldingene dine!
single