Datentypen in C/C++
(EN google-translate)
(PL google-translate)
Der Umgang mit Variablen in C/C++
|
int x;
|
x=7;
|
int x=7;
|
int x,y,z;
int x=2,y=3,z=4;
|
|
Bezeichnung | Deklaration | Initialisierung | Beschreibung |
---|---|---|---|
short | short x; | x=-7; | Speichern ganzer Zahlen, meist 16Bit, -32768 bis +32767. |
int | int x; | x=-7; | Speichern ganzer Zahlen, meist 32Bit, -2147483648 bis +2147483647. |
char | char c; | c='A'; | Repräsentation von ASCII-Zeichen in einem Byte, -128 bis 127 |
unsigned char | char x; | x=7; | Speichern kleiner positiver ganzer Zahlen in einem Byte (0..255) |
bool | bool w; | w=true; | Speichern der logischen Wahrheitswerte true (wahr) oder false (falsch) |
double | double x; | x=-3.5; | Speichern von Fließkommawerten mit doppelter Genauigkeit (32Bit) |
float | float x; | x=-3.5; | Speichern von Fließkommawerten mit einfacher Genauigkeit (16Bit) |
Tabelle 0-1: Auswahl einiger einfacher Datentypen in C/C++
Die gemachten Angaben beziehen sich auf einen handelsüblichen PC. Leider ist bei C/C++ die Speicherplatzgröße und damit die Genauigkeit bei Integer-Zahlen,# bzw. die Genauigkeit bei Fließkommazahlen nicht verbindlich festgelegt. Insbesondere ist es typisch, dass int auf einem Mikrocontroller (oder sehr alten PCs) nur in zwei Byte gespeichert werden und damit einen Wertebereich von nur -32768 bis +32767 aufweist.
|
#include<iostream> using namespace std; int main(void) { int x; bool erlaubt=true; if(erlaubt) { x=5; cout<<"x="<<x<<endl; } }
Code 0-1: Variante 1.
#include<iostream> using namespace std; int main(void) { bool erlaubt=true; if(erlaubt) { int x=5; cout<<"x="<<x<<endl; } }
Code 0-2: Variante 2.
DIE NACHFOLGENDEN VARIANTEN FUNKTIONIEREN NICHT!:
#include<iostream> using namespace std; int main(void) { bool erlaubt=true; if(erlaubt) { int x=5; } cout<<"x="<<x<<endl; }
Code 0-3: Variante 3, liefert Compilerfehler!

Bild 0-1: Variante 3, liefert Compilerfehler!
#include<iostream> using namespace std; int main(void) { bool erlaubt=true; x=5; if(erlaubt) { int x; cout<<"x="<<x<<endl; } }
Code 0-4: Auch Variante 4 liefert Compilerfehler.

Bild 0-2: Auch Variante 4 liefert Compilerfehler.