Strukturen in C

Structures C



In C ist eine Struktur eine benutzerdefinierte Variable, die verwendet wird, um eine Sammlung von Variablen unter einer einzigen Entität zu speichern. Lassen Sie uns eine einfache Analogie verwenden, um die Implementierung und Nützlichkeit von Strukturen in C zu erklären.

Angenommen, wir möchten Informationen über Benutzer speichern, die einen bestimmten Dienst verwenden. Solche Informationen können den Benutzernamen, die E-Mail-Adresse, die Adresse, den Servicemodus usw. umfassen. Um solche Informationen zu speichern, können wir jedes Attribut als eigenständige Variable erstellen. Wenn wir jedoch mehr als zehn Benutzer haben, kann der Code außer Kontrolle geraten und sehr schwierig und ermüdend zu lesen werden.







Um dies zu lösen, können wir eine Struktur erstellen. Innerhalb der Struktur können wir alle von allen Benutzern geteilten Attribute speichern und dann für jeden Benutzer eindeutige Variablen hinzufügen.



Sehen wir uns verschiedene Beispiele an, um zu sehen, wie dies umgesetzt werden kann.



So definieren Sie eine Struktur in C

Um eine Struktur in C zu definieren, verwenden wir das Schlüsselwort struct gefolgt vom Namen der Struktur. Nach dem Namen haben wir ein Paar geschweifte Klammern, wo wir die Mitglieder hinzufügen.





Betrachten Sie die folgende Syntax:

strukturierenStrukturname
{
/* Daten */
Geben Sie Mitgliedsname ein;
Typ Mitgliedsname2;
Typ Mitgliedsname3;

...
Typmember_nameN;
};

Der Name der Struktur kann beliebig gewählt werden, solange er der Namenskonvention der Programmiersprache C entspricht.



Wir können eine Beispielstruktur der Benutzeranalogie implementieren als:

strukturierenBenutzer
{
verkohlenNutzername[zwanzig];
verkohlenEmail[225];
verkohlendie Anschrift[fünfzig];
intAlter;
bool registriert;
};

So erstellen Sie Strukturvariablen

Es gibt zwei Möglichkeiten, Strukturvariablen zu erstellen. Die erste besteht darin, sie wie normale Variablen zu deklarieren, und die andere besteht darin, sie mit geschweiften Klammern zu setzen.

Das folgende Beispiel zeigt, wie Sie Strukturvariablen als Standard-C-Variablen deklarieren.

strukturierenBenutzer
{
verkohlenNutzername[zwanzig];
verkohlenEmail[225];
verkohlendie Anschrift[fünfzig];
intAlter;
bool registriert;
};

inthauptsächlich(intargc, verkohlen const *argv[])
{
strukturierenBenutzer Benutzer1,Benutzer2,Benutzer3
Rückkehr 0;
}

Die andere Methode zum Erstellen von Strukturvariablen ist wie folgt:

strukturierenBenutzer
{
verkohlenNutzername[zwanzig];
verkohlenEmail[225];
verkohlendie Anschrift[fünfzig];
intAlter;
bool registriert;
}Benutzer1,Benutzer2,Benutzer3;

In diesem Beispiel erstellen wir sie während der Strukturdeklaration.

Struktur Member Init

Sie können die Strukturmember während der Erstellung nicht initialisieren, da für den Typ kein Speicher zugewiesen ist.

Um die Mitglieder einer Struktur zu initialisieren, verwenden Sie die geschweiften Klammern wie unten gezeigt:

strukturierenBenutzer
{
verkohlenNutzername[zwanzig];
verkohlenEmail[225];
verkohlendie Anschrift[fünfzig];
intAlter;
bool registriert;
};
inthauptsächlich(intargc, verkohlen const *argv[])
{
strukturierenBenutzer Benutzer1= {'mein Benutzername', ' [E-Mail geschützt] ', 35, wahr}
Rückkehr 0;
}

Zugriffsstruktur-Mitglieder

Um auf die Member einer Struktur zuzugreifen, verwenden wir den Punktoperator, beginnend mit dem Strukturnamen, einem Punkt und dem Namen des Members.

strukturierenBenutzer
{
verkohlenNutzername[zwanzig];
verkohlenEmail[225];
verkohlendie Anschrift[fünfzig];
intAlter;
bool registriert;
};
inthauptsächlich(intargc, verkohlen const *argv[])
{
strukturierenBenutzer Benutzer1= {'mein Benutzername', ' [E-Mail geschützt] ', 35, wahr}
Benutzer1.Email = ' [E-Mail geschützt] '
Rückkehr 0;
}

In diesem Beispiel greifen wir auf die Mitglieder von user1 zu.

Typedef-Schlüsselwort

Wir verwenden das Schlüsselwort typedef, um einen Alias ​​für die Datentypen zu erstellen, um den Code lesbarer zu machen.

Zum Beispiel:

Typdef strukturierenBenutzer
{
verkohlenNutzername[zwanzig];
verkohlenEmail[225];
verkohlendie Anschrift[fünfzig];
intAlter;
bool registriert;
}du;
inthauptsächlich(intargc, verkohlen const *argv[])
{
du user1= {'mein Benutzername', ' [E-Mail geschützt] ', 35, wahr}
Benutzer1.Eingetragen = falsch
Rückkehr 0;
}

Im obigen Beispiel haben wir einen Alias ​​u für die Benutzerstruktur erstellt. Daher müssen wir nicht jedes Mal struct-Benutzer aufrufen. Wir können u wie oben definiert verwenden.

Strukturzeiger

Sie können auch einen Zeiger auf eine Struktur haben. Auf diese Weise können Sie mit dem Operator -> auf die Mitglieder zugreifen.

Zum Beispiel:

Typdef strukturierenBenutzer
{
verkohlenNutzername[zwanzig];
verkohlenEmail[225];
verkohlendie Anschrift[fünfzig];
intAlter;
bool registriert;
}du;
inthauptsächlich(intargc, verkohlen const *argv[])
{
du user1= {'mein Benutzername', ' [E-Mail geschützt] ', 35, wahr}

// Zeiger auf eine andere Struktur
du*user_ptr= &Benutzer1
user_ptr->Nutzername= 'pttrusername'
Rückkehr 0;
}

Abschluss

Dieses Handbuch behandelt die Grundlagen der Arbeit mit Strukturen in der Programmiersprache C.

Vielen Dank fürs Lesen!