Deklarieren eines Structs
Teil des Abschnitts Logic & Flow der C-Journey von Coddy — Lektion 39 von 63.
Nachdem Sie nun verstanden haben, was ein struct ist, ist es an der Zeit zu lernen, wie Sie Ihre eigenen Strukturtypen erstellen. Das Deklarieren eines struct in C folgt einer spezifischen Syntax, die den Bauplan für Ihren benutzerdefinierten Datentyp definiert.
Die grundlegende Syntax für die Deklaration eines struct ist:
struct StructureName {
datatype member1;
datatype member2;
// ... weitere Member
};So funktioniert jeder Teil: Sie beginnen mit dem Schlüsselwort struct, gefolgt von einem Namen für Ihre Struktur, und listen dann alle Elementvariablen innerhalb geschweifter Klammern auf. Jedes Element wird genau wie eine reguläre Variable mit ihrem Datentyp und Namen deklariert. Vergessen Sie nicht das Semikolon nach der schließenden Klammer!
Zum Beispiel, um eine Struktur zu erstellen, die einen Punkt im 2D-Raum darstellt:
struct Point {
int x;
int y;
};Diese Deklaration erstellt einen neuen Datentyp namens struct Point, der zwei Integer-Member enthält: x und y. Einmal deklariert, kann dieser Strukturtyp in Ihrem gesamten Programm verwendet werden, um Variablen zu erstellen, die Koordinateninformationen auf organisierte Weise speichern.
Aufgabe
EinfachErstellen Sie ein C-Programm, das ein struct definiert, um ein Buch in einem Bibliothekssystem darzustellen. Ihr Programm sollte:
- Definieren Sie ein
structnamensBook, das die folgenden Mitglieder enthält:- Ein Integer
id, um die Identifikationsnummer des Buches zu speichern - Ein Zeichen-Array
titleder Größe 50, um den Titel des Buches zu speichern - Ein Integer
pages, um die Anzahl der Seiten zu speichern - Ein Float
price, um den Preis des Buches zu speichern
- Ein Integer
- Geben Sie nach der Definition des Structs eine Bestätigungsmeldung aus:
Book struct defined successfully! - Geben Sie die Größe des
Book-Structs in Bytes unter Verwendung vonsizeof()im folgenden Format aus:Size of Book struct: [size] bytes - Geben Sie die Größe jedes einzelnen Mitglieds aus:
Size of id: [size] bytesSize of title: [size] bytesSize of pages: [size] bytesSize of price: [size] bytes
Diese Herausforderung testet Ihr Verständnis der Syntax zur Deklaration von Structs, einschließlich der korrekten Verwendung des Schlüsselworts struct, der Deklaration von Mitgliedern mit geeigneten Datentypen und des Semikolons nach der schließenden Klammer. Sie werden auch untersuchen, wie C Speicher für Struct-Mitglieder mit dem Operator sizeof() reserviert.
Beachten Sie, dass die genauen Größenwerte je nach Architektur Ihres Systems variieren können, aber die Syntax der Struct-Definition muss korrekt sein, damit das Programm erfolgreich kompiliert und ausgeführt werden kann.
Spickzettel
Um eine struct in C zu deklarieren, verwenden Sie die folgende Syntax:
struct StructureName {
datatype member1;
datatype member2;
// ... weitere Member
};Beginnen Sie mit dem struct-Schlüsselwort, gefolgt von einem Namen für Ihre Struktur, und listen Sie dann alle Member-Variablen innerhalb geschweifter Klammern auf. Jedes Member wird mit seinem Datentyp und Namen deklariert. Vergessen Sie das Semikolon nach der schließenden Klammer nicht!
Beispiel für eine Point-Struktur:
struct Point {
int x;
int y;
};Dies erstellt einen neuen Datentyp namens struct Point mit zwei Integer-Membern, die im gesamten Programm verwendet werden können.
Probier es selbst
#include <stdio.h>
int main() {
// TODO: Definieren Sie hier Ihre Book-Struktur
// Bestätigungsmeldung ausgeben
printf("Book struct defined successfully!\n");
// TODO: Geben Sie die Größe der Book-Struktur und ihrer Elemente aus
return 0;
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Logic & Flow
1Zeiger-Grundlagen
Was ist ein Zeiger?Zeiger deklarierenDer Adressoperator (&)Der Dereferenzierungsoperator (*)NULL-ZeigerZusammenfassung: Zeiger-Grundlagen4Projekt: Einfaches Text-Tool
ProjektübersichtZeichen zählen7Strukturen (structs)
Was ist ein Struct?Deklarieren eines StructsErstellen von Struct-VariablenZugriff auf Struct-MemberInitialisieren von StructsZusammenfassung: Studentendaten-Struct2Pointer und Arrays
Array-Namen als PointerArray-Elemente - PointerPointer-ArithmetikPointer vergleichenWiederholung: Array-Durchlauf mit Pointern5Zeiger und Funktionen
Wertübergabe (Pass-by-Value)Zeiger an Funktionen übergebenVariablen über Zeiger ändernEin klassisches Beispiel: SwapArrays an Funktionen übergebenZusammenfassung: Zeiger als Funktionsargumente8Structs und Zeiger
Zeiger auf StructsDer Pfeiloperator (->)Structs per Wert übergebenÜbergabe von Struct-ZeigernDynamische Allokation von StructsZusammenfassung: Struct ändern - Ptr11Finale Wiederholungsaufgaben
Wiederholung: Dynamische String-KonkatenationWiederholung: Array von StructsWiederholung: Wortfrequenz-Zähler3Character-Arrays und Strings
Strings als char-ArraysDer Null-TerminatorString-Eingabe mit scanfVerwendung von strlen()Verwendung von strcpy()Verwendung von strcat()Verwendung von strcmp()Zusammenfassung: Grundlegende String-Funktionen