Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Arrayer med structar | Förståelse av Structs och Minne
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Behärska C-Strukturer

bookArrayer 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

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

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.

Uppgift

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.

  1. Skapa en variabel calculateWarehouseTotal inuti funktionen total och initiera den till 0.0f.
  2. Använd en for-loop för att iterera från index 0 till n.
  3. För varje produkt, multiplicera quantity med price och lägg till resultatet till total.
  4. Returnera det slutliga värdet av total som den totala lagerkostnaden.

Lösning

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 4
single

single

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

close

bookArrayer 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

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

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.

Uppgift

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.

  1. Skapa en variabel calculateWarehouseTotal inuti funktionen total och initiera den till 0.0f.
  2. Använd en for-loop för att iterera från index 0 till n.
  3. För varje produkt, multiplicera quantity med price och lägg till resultatet till total.
  4. Returnera det slutliga värdet av total som den totala lagerkostnaden.

Lösning

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 4
single

single

some-alt