Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Zugriff auf Struct-Felder | Einführung in Structs
C-Strukturen Meistern

bookZugriff auf Struct-Felder

Nachdem wir eine Struktur erstellt haben, um ein chemisches Element zu beschreiben, können wir endlich mit ihr interagieren.

Um auf die in der Struktur enthaltenen Informationen zuzugreifen, muss der .-Operator verwendet werden.

Der .-Operator ermöglicht den direkten Zugriff auf die Elemente (Felder) der Struktur.

<struct>.<field>;

Auf diese Weise erhält man Zugriff auf ein Mitglied der Struktur.

Versuch, Informationen über Silizium auf dem Bildschirm anzuzeigen:

main.c

main.c

copy
123456789101112131415161718192021
#include "stdio.h" struct chemicalElement { char name[3]; int atomicNumber; int valency; double mass; }; int main() { struct chemicalElement silicon = { "Si", 14, 4, 28.08 }; printf("Name: %s\n", silicon.name); printf("Atomic Number: %d\n", silicon.atomicNumber); printf("Valency: %d\n", silicon.valency); printf("Mass: %f", silicon.mass); return 0; }
Note
Hinweis

Zeiger werden ebenfalls häufig verwendet, um auf Strukturfelder zuzugreifen, aber darauf gehen wir später ein.

Wenn Sie die zweite Methode zur Erstellung einer Strukturvariablen verwenden, müssen Sie silicon.name mit strcpy() einen Wert zuweisen und diesen anschließend mit printf() ausgeben.

main.c

main.c

copy
12345678910111213141516171819202122232425
#include "stdio.h" #include <string.h> struct chemicalElement { char name[3]; int atomicNumber; int valency; double mass; } silicon; int main() { strcpy(silicon.name,"Si"); // using `strcpy()` silicon.atomicNumber = 14; silicon.valency = 4; silicon.mass = 28.08; printf("Name: %s\n", silicon.name); printf("Atomic Number: %d\n", silicon.atomicNumber); printf("Valency: %d\n", silicon.valency); printf("Mass: %f", silicon.mass); return 0; }
Note
Hinweis

Die Funktion strcpy() wird verwendet, um die angegebene Zeichenkette (“Si”) in das Feld name[3] der erstellten Variablen zu kopieren.

Aufgabe

Swipe to start coding

Sie haben eine Product-Struktur, die Informationen über ein Produkt in einem Geschäft speichert: Name, Preis und Menge. Ihre Aufgabe ist es, die Gesamtkosten eines Produkts zu berechnen, indem Sie den Preis mit der Menge multiplizieren.

Die Funktion productCost erhält ein Product als Parameter.

  1. Multiplizieren Sie innerhalb von productCost das Feld price mit dem Feld quantity.
  2. Erstellen Sie in main ein Product-Objekt mit Name, Preis und Menge.
  3. Verwenden Sie printf, um den Namen, Preis, Menge und die Gesamtkosten des Produkts (durch Aufruf von productCost) anzuzeigen.

Lösung

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 5
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

close

bookZugriff auf Struct-Felder

Swipe um das Menü anzuzeigen

Nachdem wir eine Struktur erstellt haben, um ein chemisches Element zu beschreiben, können wir endlich mit ihr interagieren.

Um auf die in der Struktur enthaltenen Informationen zuzugreifen, muss der .-Operator verwendet werden.

Der .-Operator ermöglicht den direkten Zugriff auf die Elemente (Felder) der Struktur.

<struct>.<field>;

Auf diese Weise erhält man Zugriff auf ein Mitglied der Struktur.

Versuch, Informationen über Silizium auf dem Bildschirm anzuzeigen:

main.c

main.c

copy
123456789101112131415161718192021
#include "stdio.h" struct chemicalElement { char name[3]; int atomicNumber; int valency; double mass; }; int main() { struct chemicalElement silicon = { "Si", 14, 4, 28.08 }; printf("Name: %s\n", silicon.name); printf("Atomic Number: %d\n", silicon.atomicNumber); printf("Valency: %d\n", silicon.valency); printf("Mass: %f", silicon.mass); return 0; }
Note
Hinweis

Zeiger werden ebenfalls häufig verwendet, um auf Strukturfelder zuzugreifen, aber darauf gehen wir später ein.

Wenn Sie die zweite Methode zur Erstellung einer Strukturvariablen verwenden, müssen Sie silicon.name mit strcpy() einen Wert zuweisen und diesen anschließend mit printf() ausgeben.

main.c

main.c

copy
12345678910111213141516171819202122232425
#include "stdio.h" #include <string.h> struct chemicalElement { char name[3]; int atomicNumber; int valency; double mass; } silicon; int main() { strcpy(silicon.name,"Si"); // using `strcpy()` silicon.atomicNumber = 14; silicon.valency = 4; silicon.mass = 28.08; printf("Name: %s\n", silicon.name); printf("Atomic Number: %d\n", silicon.atomicNumber); printf("Valency: %d\n", silicon.valency); printf("Mass: %f", silicon.mass); return 0; }
Note
Hinweis

Die Funktion strcpy() wird verwendet, um die angegebene Zeichenkette (“Si”) in das Feld name[3] der erstellten Variablen zu kopieren.

Aufgabe

Swipe to start coding

Sie haben eine Product-Struktur, die Informationen über ein Produkt in einem Geschäft speichert: Name, Preis und Menge. Ihre Aufgabe ist es, die Gesamtkosten eines Produkts zu berechnen, indem Sie den Preis mit der Menge multiplizieren.

Die Funktion productCost erhält ein Product als Parameter.

  1. Multiplizieren Sie innerhalb von productCost das Feld price mit dem Feld quantity.
  2. Erstellen Sie in main ein Product-Objekt mit Name, Preis und Menge.
  3. Verwenden Sie printf, um den Namen, Preis, Menge und die Gesamtkosten des Produkts (durch Aufruf von productCost) anzuzeigen.

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 1. Kapitel 5
single

single

some-alt