Map oder Struktur in C

Ammar Ali 12 Oktober 2023
Map oder Struktur in C

In diesem Tutorial wird die Verwendung der Map oder Struktur zum Erstellen einer Sammlung von Variablen in C erläutert.

Map oder Struktur in C

Eine Struktur ist eine Sammlung von Variablen unterschiedlicher oder gleicher Datentypen. Wenn wir beispielsweise ein Profil für eine Person erstellen möchten, um das Alter, den Namen und die Größe der Person zu speichern, können wir die Struktur verwenden, um alle Informationen unter einer einzigen Map oder Struktur zu speichern.

Wir können das Schlüsselwort struct verwenden, um Strukturen in der Sprache C zu erstellen. Die grundlegende Syntax einer Struktur ist unten angegeben.

struct NameOfStructure {
  dataType_1 member_1;
  dataType_2 member_2;
  ....
};

Lassen Sie uns zum Beispiel eine Struktur erstellen, um die Informationen einer Person zu speichern. Siehe Code unten.

struct Person {
  char *name;
  int age;
  float height;
};

Eine Struktur ist eine Klasse, mit der wir Objekte erstellen können, die alle innerhalb der Struktur definierten Variablen enthalten. Wir müssen das Schlüsselwort struct schreiben, dann den Namen der Struktur und dann den Namen des Objekts, um ein Objekt der Struktur zu erstellen.

Wir können auf jedes Strukturelement zugreifen, indem wir den Objektnamen und den Variablennamen mit einem Punkt anhängen. Wir können den Wert der Variablen erhalten oder ihren Wert mit dem Zuweisungsoperator ändern.

Lassen Sie uns zum Beispiel zwei Objekte der obigen Struktur erstellen, einen Wert darin speichern und ihn mit der Funktion printf() drucken. Siehe Code unten.

#include <stdio.h>

struct Person {
  char *name;
  int age;
  float height;
};

int main() {
  struct Person person1, person2;
  person1.name = "Max";
  person1.age = 20;
  person1.height = 6.2;
  printf("Person 1 name = %s\n", person1.name);
  printf("Person 2 name = %s", person2.name);
}

Ausgabe:

Person 1 name = Max
Person 2 name =

Im obigen Code haben wir die Namen der beiden Person-Objekte gedruckt. Wir können in der Ausgabe sehen, dass der Name der ersten Person angezeigt wird, aber der Name der zweiten Person wird nicht gedruckt, da wir keinen Namen für die zweite Person gespeichert haben.

Die Variablenwerte der beiden Strukturobjekte können identisch oder unterschiedlich sein, sind aber unabhängig. Wir können auch die Werte anderer Variablen wie im obigen Code abrufen oder ändern.

Wir können auch Strukturen innerhalb anderer Strukturen erstellen, die als verschachtelte Strukturen bezeichnet werden. Wir müssen ein Objekt der Struktur erstellen, die wir mit der anderen Struktur verbinden möchten, und dann den Objektnamen verwenden, um auf seine Variablen zuzugreifen.

Lassen Sie uns zum Beispiel eine andere Struktur erstellen und sie mit der obigen Struktur verknüpfen. Siehe Code unten.

#include <stdio.h>

struct job {
  char *name;
  int duration;
};
struct Person {
  struct job j;
  char *name;
  int age;
  float height;
};
int main() {
  struct Person person1, person2;
  person1.j.name = "Engineer";
  person1.name = "Max";
  person1.age = 20;
  person1.height = 6.2;
  printf("Person 1 job name = %s\n", person1.j.name);
  printf("Person 1 name = %s", person1.name);
}

Ausgabe:

Person 1 job name = Engineer
Person 1 name = Max

Im obigen Code haben wir eine weitere Struktur erstellt, um die Informationen über den Job einer Person zu speichern und auf ihre Variablen zuzugreifen. Wir müssen zuerst auf die übergeordnete Struktur zugreifen, in diesem Fall Person, und dann können wir auf die Variablen zugreifen der Struktur job.

Wir haben zwei Strukturen erstellt und verknüpft, aber wir können beliebig viele Strukturen erstellen und miteinander verknüpfen.

Bei einer großen Anzahl verschachtelter Strukturen müssen wir sicherstellen, dass wir die richtige Abbildung verwenden, um die Informationen einer Variablen zu erhalten. Eine Struktur ist nützlich, wenn wir Informationen über viele Dinge speichern möchten, z. B. Informationen über Personen und ihre Arbeit.

Autor: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook