Show Menu
Cheatography

C - Strukturierte Datentypen Cheat Sheet by

Übersicht über Strukturierte Datentypen in C

Strukturen

Definition
struct [Typname]
{
    Aufbau
} [Varia­ble­nli­ste];
Beispiel
struct Buch
{
    char Titel[­100];
    char Autor [100];
} Bueche­r[50]; // 50 mal struct Buch
Strukturen in Verbindung mit Typedef
typedef struct sBuch
{
    char* Titel;
    char* Autor;
} TBuch;

Definiert einen neuen Datentyp "­TBu­ch"
Zugriff auf Daten eines Zeigers auf eine Struktur
TBuch* buch = malloc(sizeof(TBuch));
buch->Titel = "Buchtitel";
buch->Autor = "Autor";
Zugriff auf Daten einer Struktur (kein Zeiger)
TBuch buch;
buch.Titel = "­Buc­hti­tel­";
buch.Autor = "­Aut­or";

Arrays

Definition
Datentyp Arrayname[Anzahl_der_Elemente]
Definition mit Initia­lis­ierung
int Zahlen[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
Die Indizes liegen im Bereich von 0 - 15
Alternativ
int Zahlen[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
Die Indizes liegen im Bereich von 0 - 15
Mehrdimensionale Arrays
Datentyp Arrayname[Menge][Menge]
Zugriff auf Array
(Array­sch­rei­bweise)
int Array[3] = {1, 2, 3};
int i = Array[1}; //i = 2
Zugriff auf Array
(Zeige­rsc­hre­ibw­eise)
int Array[3] = {1, 2, 3};
int *ptr = Array;
int i = *(ptr + 1); //i = 2
 

Aufzäh­lun­gstitel (enum)

Definition
enum [Typname] {Aufzä­hlung} [Varia­ble­nli­ste]
Beispiel
enum Wochentag {Sonntag, Montag, Dienstag, Mittwoch, Donner­stag, Freitag, Samstag};
Variablen des Typs Wochentag definieren
enum Wochentag Werktag, Feiertag, Heute = Dienstag
Beispiele (richtig & falsch)
Werktag = Montag; //richtig
Feiertag = Sonntag; //richtig
int i = Freitag; //Richtig (impl. Typumwandlung)
Heute = 4; //falsch! keine Typumw. möglich
int i = Montag + Dienstag; // richtig (aber sinnlos)
Heute = Montag + Dienstag; //falsch
Heute++; //falsch
enums mit altern­ativen Zahlen­werten
enum Farben {weiss = 0, blau = 2, gruen = 5, rot = 25, gelb = 65, lila = 90, pink = 99};

Unions

Definition
union [Typname]
  Aufbau
} [Varia­ble­nli­ste];
Beispiel
union Ueberl­agerung
  int Zahl;
  unsigned char c[size­of(­int)];
} u;

Zeiche­nketten

Definition
char Text[] = {'D','­i',­'e'­,'s',' ','i',­'s'­,'t',' ', 'e','i­','n',' ','T',­'e'­,'x­','­t',­'!'­,'­\0'};
Bessere Art der Definition
char Text[] = "Dies ist ein Text!";
Am Ende der Zeiche­nkette steht das Abschl­uss­zeichen \0 In einer Schleife kann man damit das Ende der Zeiche­nkette finden.
Beispiel:
while (Kette[i] != '\0')
   Anweis­ung;

Help Us Go Positive!

We offset our carbon usage with Ecologi. Click the link below to help us!

We offset our carbon footprint via Ecologi
 

Comments

No comments yet. Add yours below!

Add a Comment

Your Comment

Please enter your name.

    Please enter your email address

      Please enter your Comment.

          Related Cheat Sheets

          C Reference Cheat Sheet

          More Cheat Sheets by TimSch

          C- Funktionen Cheat Sheet