Linux C Programmierung Tutorial Teil 23 – Strukturen

Bisher haben wir in dieser laufenden C-Programmier-Tutorialreihe mehrere Aspekte diskutiert, die von Variablen über Funktionen bis hin zu Zeigern reichen. Das ist jedoch immer noch wie ein Kratzen der Oberfläche, da es viele andere wichtige Konzepte in der Programmiersprache C gibt.

Heute, in diesem Tutorial, werden wir ein solches Konzept diskutieren – das Konzept der Strukturen.

Strukturen in der Programmiersprache C

So wird eine Struktur deklariert:

struct TAG {
variable declaration
variable declaration
...
...
...
};

TAG kann ein beliebiger Name sein, den du dieser Struktur geben möchtest, wie zum Beispiel emp_details.

Es sollte inzwischen allgemein bekannt sein, dass Variablen verwendet werden, um Werte in einem C-Programm zu speichern. Bisher haben wir Programme/Code gesehen, die eine oder mehrere Variablen verwenden, aber nie gesehen, dass mehrere Variablen gruppiert wurden. Ja, das ist möglich, und das ist im Wesentlichen das, was Strukturen tun.

Stellen Sie sich einen Fall vor, in dem der von Ihnen geschriebene Code sich mit der Pflege von Mitarbeiterdaten in einem Unternehmen befasst. Jedes Mal, wenn ein neuer Mitarbeiter beitritt, wird Ihr Programm mit dem Namen, dem Alter, der Bezeichnung und der Abteilung des Mitarbeiters versorgt. In diesem Fall ist es also ideal, den Code so zu schreiben, dass alle diese Informationen über einen Mitarbeiter als eine einzige Einheit behandelt werden.

Eine Möglichkeit, den Code auf diese Weise zu schreiben, besteht also darin, eine Struktur zu erstellen, die alle diese mitarbeiterbezogenen Informationen bündelt. Sie müssen lediglich eine Instanz der Struktur (oder eine Variable dieses Strukturtyps) anlegen und alle Details zu dem neuen Mitarbeiter ausfüllen.

Im Folgenden finden Sie einige Möglichkeiten, wie Sie Variablen vom Typ Struktur anlegen können (in diesem Fall a, b und c):

struct emp_details {
variable declaration
variable declaration
...
...
...
}a, b, c;
struct emp_details a;
struct emp_details b;
struct emp_details c;

Genug der Theorie, lassen Sie uns ein leicht verständliches Beispiel nehmen. Angenommen, Ihr Team besteht aus 2 Mitgliedern, und Sie möchten ihre Daten über ein Programm, das Sie in C programmieren möchten, in Ihrem Computer speichern lassen. Der folgende Code soll Ihnen eine grundlegende Vorstellung davon vermitteln, wie Strukturen in diesem Fall hilfreich sein können:

#include <stdio.h>

struct emp_details {

int emp_code;
int emp_age;

};

int main()
{
struct emp_details employee[2];

printf(„\n enter code and age of first member\n“);
scanf(„%d“, &employee[0].emp_code);
scanf(„%d“, &employee[0].emp_age);

printf(„\n enter code and age of second member\n“);
scanf(„%d“, &employee[1].emp_code);
scanf(„%d“, &employee[1].emp_age);

for(int i=0; i<2; i++)
{
printf(„\n Code and age of member %d is: %d and %d \n“, i+1, employee[i].emp_code, employee[i].emp_age);
}

return 0;
}

Hier in diesem Code haben wir also zuerst eine Struktur namens ‚emp_details‘ mit ‚emp_code‘ und ‚emp_age‘ als ihre beiden Membervariablen deklariert. Dann haben wir in der Funktion „main“ zwei Objekte dieser Struktur in Form eines Arrays definiert. Daraufhin füllten wir Member-Variablen, die diesen Objekten entsprechen, indem wir Eingaben des Benutzers akzeptierten. Und schließlich gibt das Programm diese Werte an den Benutzer zurück.

Hier ist die Ausgabe, als wir das Programm auf unserer Maschine ausgeführt haben:

enter code and age of first member 
105 
27

enter code and age of second member
110
32

Code and age of member 1 is: 105 and 27

Code and age of member 2 is: 110 and 32

Variablen, die Teil einer Struktureinheit sind, können von beliebiger Art sein. Sie können sogar Objekte/Instanzen einer anderen Struktur als Teil Ihrer Struktur haben. All dies und noch mehr in unserem nächsten Tutorial über Strukturen, also bleiben Sie dran.

Fazit

Dieses Tutorial konzentrierte sich auf die Grundlagen der Strukturen in der Programmiersprache C. Wir lernten, wie man eine Struktur deklariert, dann ein Objekt oder eine Instanz dafür definiert und schließlich, wie man auf Strukturvariablen zugreift. In unseren kommenden Tutorials werden wir etwas tiefer eintauchen und mehr über Strukturen erfahren.

Das könnte Dich auch interessieren …