Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Arrays mit Structs | Verstehen von Structs und Speicher
C-Strukturen Meistern

bookArrays mit Structs

Das Erstellen eines Arrays aus Strukturen unterscheidet sich nicht von der Erstellung eines Arrays mit anderen Datentypen.

Der Zugriff auf die Elemente eines solchen Arrays erfolgt ähnlich wie bei gewöhnlichen Arrays über Indizes.

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

struct Person people[2];

Als Beispiel erstellen wir ein Array von Strukturen, das Informationen über eine Person speichert.

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

Jedes Element des people-Arrays stellt eine separate Person-Struktur dar. Auf die Felder einer bestimmten Person kann mit dem Array-Index zugegriffen werden, zum Beispiel: people[0].name oder people[1].age.

Anschließend wird das gesamte Array mit einer for-Schleife durchlaufen und die Informationen jeder Person auf dem Bildschirm ausgegeben.

Die Verwendung von Strukturen-Arrays ermöglicht es, mehrere Objekte desselben Typs an einem Ort zu speichern und einfach per Index darauf zuzugreifen. Dies ist besonders nützlich beim Arbeiten mit großen Datenmengen.

Aufgabe

Swipe to start coding

Implementieren einer Funktion calculateWarehouseTotal, die den Gesamtwert aller im Lager gespeicherten Produkte berechnet. Jedes Produkt verfügt über einen Namen, eine Menge und einen Preis. Die Funktion soll das Array der Produkte durchlaufen und die Summe von quantity * price für alle Artikel berechnen.

  1. Innerhalb der Funktion calculateWarehouseTotal eine Variable total mit dem Wert 0.0f initialisieren.
  2. Eine for-Schleife verwenden, um von Index 0 bis n zu iterieren.
  3. Für jedes Produkt die quantity mit dem price multiplizieren und das Ergebnis zu total addieren.
  4. Den Endwert von total als Gesamtkosten des Lagers zurückgeben.

Lösung

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 4
single

single

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Suggested prompts:

Can you show me how to initialize the array of structures with data?

How do I print all the information for each person in the array?

Can you explain how to modify a specific field in one of the structures?

close

bookArrays mit Structs

Swipe um das Menü anzuzeigen

Das Erstellen eines Arrays aus Strukturen unterscheidet sich nicht von der Erstellung eines Arrays mit anderen Datentypen.

Der Zugriff auf die Elemente eines solchen Arrays erfolgt ähnlich wie bei gewöhnlichen Arrays über Indizes.

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

struct Person people[2];

Als Beispiel erstellen wir ein Array von Strukturen, das Informationen über eine Person speichert.

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

Jedes Element des people-Arrays stellt eine separate Person-Struktur dar. Auf die Felder einer bestimmten Person kann mit dem Array-Index zugegriffen werden, zum Beispiel: people[0].name oder people[1].age.

Anschließend wird das gesamte Array mit einer for-Schleife durchlaufen und die Informationen jeder Person auf dem Bildschirm ausgegeben.

Die Verwendung von Strukturen-Arrays ermöglicht es, mehrere Objekte desselben Typs an einem Ort zu speichern und einfach per Index darauf zuzugreifen. Dies ist besonders nützlich beim Arbeiten mit großen Datenmengen.

Aufgabe

Swipe to start coding

Implementieren einer Funktion calculateWarehouseTotal, die den Gesamtwert aller im Lager gespeicherten Produkte berechnet. Jedes Produkt verfügt über einen Namen, eine Menge und einen Preis. Die Funktion soll das Array der Produkte durchlaufen und die Summe von quantity * price für alle Artikel berechnen.

  1. Innerhalb der Funktion calculateWarehouseTotal eine Variable total mit dem Wert 0.0f initialisieren.
  2. Eine for-Schleife verwenden, um von Index 0 bis n zu iterieren.
  3. Für jedes Produkt die quantity mit dem price multiplizieren und das Ergebnis zu total addieren.
  4. Den Endwert von total als Gesamtkosten des Lagers zurückgeben.

Lösung

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 4
single

single

some-alt