Elementare Datentypen in C:
char (1 Byte) 0,...,255 (-128,...,127) int (4 Byte) −231, ..., 231 − 1 float (4 Byte) ≈ 10−38, ..., 1038 . (Genauigkeit 6 bis 7 Stellen)
double (8 Byte) ≈ 10−308, ...,10308 . (Genauigkeit 15 bis 16 Stellen)
Im folgenden Verwendung von double bei Gleit- kommazahlen.
Felder (Arrays): Aneinanderreihung von Va- riablen gleichen Types.
1.0 2.5 4.1 3.9 ... ... 8.2
Deklaration: typ bezeichner[N];
Beispiele:
char zeile[80];
double vektor[5];
double x[10];
Mehrdimensionale Felder: “Felder von Feldern”
double matrix[5][4] 5 × 4-Matrix
Zugriff auf Elemente: Bezeichner + Index
Index i ∈ {0, ..., N − 1}
Beispiel: x[1] 2. Zahl (= 2.5)
Zuweisung:
Initialisierung:
double vektor[5] = {3.3, 1.5, -0.5, 1.3E6, 8}; Elementweise:
vektor[2] = 8.3;
x[3] = 2.5 * x[2];
Strukturen: Zusammenfassung von Variablen (gleichen oder verschiedenen Typs).
Person
Name M¨uller Vorname Thomas Geb.-Tag 1.1.1970
Deklaration: (global - vor main()) struct s name {
/* Elemente */
};
Definition:
struct s name var name;
struct person {
char name[30];
char vorname[30];
int g_tag;
int g_monat;
int g_jahr;
};
int main() {
struct person p_1;
/* oder mit Initialisierung: */
struct person p_1 = { "M¨uller",
"Thomas",
1, 1, 1970 };
...
}
Zugriff:
Struktur:
Variablenname p 1
Element einer Struktur:
Variablenname.Elementname p 1.name
Zuweisung:
Initialisierung:
struct person p 1 = { /* Elemente */ }; Zuweisung an Elemente:
p 1.g jahr = 1970;
Gesamte Struktur kopieren: