Wie kann ich eine Struktur in C definieren und darauf zugreifen?

Melden
  1. Was ist eine Struktur in C?
  2. Definition einer Struktur
  3. Instanziierung (Erstellen) einer Strukturvariable
  4. Zugriff auf Strukturmitglieder
  5. Zeiger auf Strukturen
  6. Vollständiges Beispiel

Was ist eine Struktur in C?

Eine Struktur (auf Englisch struct) in der Programmiersprache C ist ein benutzerdefinierter Datentyp, der es ermöglicht, mehrere verschiedene Daten unter einem gemeinsamen Namen zusammenzufassen. Diese Daten können unterschiedliche Typen haben, wie z.B. Ganzzahlen, Fließkommazahlen oder Zeichenketten. Strukturen helfen dabei, komplexere Daten übersichtlich und organisiert zu speichern.

Definition einer Struktur

Die Syntax für die Definition einer Struktur ist wie folgt:

struct Strukturname { Datentyp1 Mitgliedsname1; Datentyp2 Mitgliedsname2; ...};

Beispiel:

struct Person { char name ; int alter; float groesse;};

Hier wird eine Struktur namens Person definiert, die drei Mitglieder hat: ein Zeichenarray name, eine Ganzzahl alter und eine Fließkommazahl groesse.

Instanziierung (Erstellen) einer Strukturvariable

Nachdem die Struktur definiert ist, kann man Variablen dieses Typs erstellen:

struct Person p1;

Alternativ kann bei der Definition auch direkt eine Variable angelegt werden:

struct Person { char name ; int alter; float groesse;} p1, p2;

Zugriff auf Strukturmitglieder

Der Zugriff auf die einzelnen Mitglieder einer Struktur erfolgt mit dem Punktoperator (.), wenn man eine Strukturvariable hat. Beispiel:

p1.alter = 30;strcpy(p1.name, "Max Mustermann");p1.groesse = 1.80f;

Hierbei wird dem Mitglied alter der Wert 30 zugewiesen, im Namen-Array der String "Max Mustermann" mittels strcpy kopiert und das Mitglied groesse auf 1.80 gesetzt.

Zeiger auf Strukturen

Wenn man einen Zeiger auf eine Struktur verwendet, greift man auf die einzelnen Mitglieder mit dem Pfeil-Operator (->) zu.

struct Person *ptr = &p1;ptr->alter = 25;strcpy(ptr->name, "Lisa Beispiel");ptr->groesse = 1.70f;

Vollständiges Beispiel

#include <stdio.h>#include <string.h>struct Person { char name ; int alter; float groesse;};int main() { struct Person p1; strcpy(p1.name, "Anna Müller"); p1.alter = 28; p1.groesse = 1.65f; printf("Name: %s\n", p1.name); printf("Alter: %d\n", p1.alter); printf("Größe: %.2f m\n", p1.groesse); return 0;}

Dieses Programm definiert eine Struktur Person, legt eine Variable p1 an, weist Werte zu und gibt sie anschließend aus.

0

Kommentare