Show Menu
Cheatography

C - Strukturierte Datentypen Cheat Sheet by

Übersicht über Strukturierte Datentypen in C

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
Mehrdi­men­sionale 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

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";
 

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')

 ­  Anweisung;

Aufzäh­lun­gstitel (enum)

Definition
enum [Typname] {Aufzä­hlung} [Varia­ble­nliste]
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;
 

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
          C program Cheat Sheet

          More Cheat Sheets by TimSch

          C - printf/scanf Cheat Sheet
          C- Grundlagen zu Variablen Cheat Sheet