Arrayer med structar
Att skapa en array av strukturer är ingen skillnad från att skapa en array med andra datatyper.
Åtkomst till elementen i en sådan array sker på samma sätt som för vanliga arrayer med index.
struct Person {
char name[50];
int age;
double height;
};
struct Person people[2];
Som exempel skapas en array av strukturer som lagrar information 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; }
Varje element i arrayen people representerar en separat Person-struktur. Vi kan komma åt fälten för en specifik person med hjälp av arrayindex, till exempel: people[0].name eller people[1].age.
Sedan itererar vi genom hela arrayen med en for-loop och skriver ut informationen om varje person på skärmen.
Att använda arrayer av strukturer gör det möjligt att lagra flera objekt av samma typ på ett ställe och enkelt komma åt dem via index, vilket är särskilt användbart när man arbetar med stora datamängder.
Swipe to start coding
Implementera en funktion calculateWarehouseTotal som beräknar det totala värdet av alla produkter som lagras i ett lager. Varje produkt har ett namn, en kvantitet och ett pris. Funktionen ska iterera genom arrayen av produkter och beräkna summan av quantity * price för alla artiklar.
- Skapa en variabel
calculateWarehouseTotalinuti funktionentotaloch initiera den till0.0f. - Använd en
for-loop för att iterera från index0tilln. - För varje produkt, multiplicera
quantitymedpriceoch lägg till resultatet tilltotal. - Returnera det slutliga värdet av
totalsom den totala lagerkostnaden.
Lösning
Tack för dina kommentarer!
single
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Fantastiskt!
Completion betyg förbättrat till 4.35
Arrayer med structar
Svep för att visa menyn
Att skapa en array av strukturer är ingen skillnad från att skapa en array med andra datatyper.
Åtkomst till elementen i en sådan array sker på samma sätt som för vanliga arrayer med index.
struct Person {
char name[50];
int age;
double height;
};
struct Person people[2];
Som exempel skapas en array av strukturer som lagrar information 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; }
Varje element i arrayen people representerar en separat Person-struktur. Vi kan komma åt fälten för en specifik person med hjälp av arrayindex, till exempel: people[0].name eller people[1].age.
Sedan itererar vi genom hela arrayen med en for-loop och skriver ut informationen om varje person på skärmen.
Att använda arrayer av strukturer gör det möjligt att lagra flera objekt av samma typ på ett ställe och enkelt komma åt dem via index, vilket är särskilt användbart när man arbetar med stora datamängder.
Swipe to start coding
Implementera en funktion calculateWarehouseTotal som beräknar det totala värdet av alla produkter som lagras i ett lager. Varje produkt har ett namn, en kvantitet och ett pris. Funktionen ska iterera genom arrayen av produkter och beräkna summan av quantity * price för alla artiklar.
- Skapa en variabel
calculateWarehouseTotalinuti funktionentotaloch initiera den till0.0f. - Använd en
for-loop för att iterera från index0tilln. - För varje produkt, multiplicera
quantitymedpriceoch lägg till resultatet tilltotal. - Returnera det slutliga värdet av
totalsom den totala lagerkostnaden.
Lösning
Tack för dina kommentarer!
single