C Variablen, Datentypen und Konstanten – Ein praktischer Leitfaden
Was ist eine Variable?
Eine Variable ist ein Bezeichner, der einen Wert hält. Im Gegensatz zu Konstanten kann sich der Wert einer Variable während der Programmausführung ändern.
Variablen können von mehreren Stellen im Programm referenziert werden. Ein beschreibender Name hilft Lesern, den Zweck der Variable zu verstehen.
int height = 170; // Höhe in Zentimetern
int age = 29; // Alter in Jahren
Bevor eine Variable verwendet wird, muss sie deklariert werden. Variablennamen dürfen Buchstaben, Ziffern und Unterstriche enthalten, müssen aber mit einem Buchstaben oder Unterstrich beginnen.
Namensregeln für Variablen
- Nur Buchstaben (a–z, A–Z), Ziffern (0–9) und Unterstrich (_).
- Darf nicht mit einer Ziffer beginnen.
- Kein Whitespace.
- Darf kein reserviertes Schlüsselwort sein.
- C ist case-sensitive:
ageundAGEsind unterschiedliche Bezeichner.
Gültige und ungültige Namen
Gültig:
height _HEIGHT _height1 My_name
Ungültig:
1height Hei$ght My name
Variablen deklarieren und initialisieren
Erst deklarieren, dann zuweisen:
int my_variable;
my_variable = 48;
Oder Deklaration und Initialisierung kombinieren:
int my_variable = 48;
Datentypen – Überblick
C bietet drei Kategorien von Datentypen:
- Primitive (
int,char,float,double,void) - Abgeleitete (Arrays, Funktionen, Zeiger, Strukturen)
- Benutzerdefinierte (
typedef, Structs, Enums, Unions)
Primitive Datentypen
Fünf fundamentale Typen:
int– Ganzzahlwertechar– Einzelne Zeichenfloat– Gleitkomma einfache Genauigkeitdouble– Gleitkomma doppelte Genauigkeitvoid– Kein Wert (in Funktionssignaturen verwendet)
Standard Datentyp-Größen und Wertebereiche
| Datentyp | Größe (Bytes) | Bereich |
|---|---|---|
| char / signed char | 1 | -128 bis 127 |
| unsigned char | 1 | 0 bis 255 |
| int / signed int | 2 | -32768 bis 32767 |
| unsigned int | 2 | 0 bis 65535 |
| short int / unsigned short int | 2 | 0 bis 65535 |
| signed short int | 2 | -32768 bis 32767 |
| long int / signed long int | 4 | -2147483648 bis 2147483647 |
| unsigned long int | 4 | 0 bis 4294967295 |
| float | 4 | ±3,4E-38 bis ±3,4E+38 |
| double | 8 | ±1,7E-308 bis ±1,7E+308 |
| long double | 10 | ±3,4E-4932 bis ±1,1E+4932 |
Hinweis: C hat keinen eingebauten Booleschen Typ; verwenden Sie int mit 0 (false) oder 1 (true) oder den Header stdbool.h für bool.
Ganzzahlige Datentypen
Ganze Zahlen sind ganze Zahlen. Der Standard-16-Bit-int reicht von –32768 bis 32767. Kürzere und längere Varianten stehen für den benötigten Bereich zur Verfügung.
Typische Deklarationen:
int age;
short int smallCount;
long int largeCount;
Gleitkomma-Datentypen
Verwenden Sie float für Werte mit Bruchteil bis ca. 6-stelliger Präzision. double bietet ca. 14-stellige Präzision, long double die höchste Präzision.
Beispiele:
float ratio = 0.75f;
double balance = 12345.6789;
long double pi = 3.141592653589793238462643383279502884L;
Zeichen-Datentyp
Speichert ein einzelnes Zeichen in einem 1-Byte-Wert. Zeichen werden in einfachen Anführungszeichen angegeben.
Beispiel:
char letter = 'K';
Void-Datentyp
Zeigt an, dass eine Funktion keinen Wert zurückgibt.
Beispiel:
void displayData(void) { // ... }
Mehrere Variablen deklarieren
Variablen desselben Typs können in einer Zeile, durch Kommas getrennt, deklariert werden:
int x, y, z;
float salary = 13.48f;
char letter = 'K';
Ausgabe-Beispiele mit Format-Spezifizierern:
printf("%d\n", z);
printf("%f\n", salary);
printf("%c\n", letter);
Konstanten
Ein konstanter Wert ändert sich während der Programmausführung nie. C bietet mehrere Formen:
Ganzzahl-Konstanten
Dezimal, oktal (präfix 0) und hexadezimal (präfix 0x) Literale.
Beispiele:
111 // dezimal
012 // oktal (10 dezimal)
0x2BCD // hexadezimal (19293 dezimal)
Zeichen-Konstanten
Einzelnes Zeichen in einfachen Anführungszeichen oder per ASCII-Code.
Beispiele:
'A'
'9'
String-Konstanten
Zeichenfolge in doppelten Anführungszeichen.
Beispiele:
"Hello"
"Programming"
Reelle (Gleitkomma-) Konstanten
Zahlen mit Dezimalpunkt oder in wissenschaftlicher Notation.
Beispiele:
202.15
300.00
1.23e-4 // 0.000123
Konstanten mit const und #define definieren
const reserviert Speicher und erzwingt Unveränderlichkeit:
#include <stdio.h>
int main(void) {
const double PI = 3.141592653589793;
printf("%f\n", PI);
return 0;
}
#define ist ein Präprozessor-Makro, das keinen Speicher verbraucht:
#include <stdio.h>
#define PI 3.141592653589793
int main(void) {
printf("%f\n", PI);
return 0;
}
Zusammenfassung
- Variablen sind veränderliche Bezeichner, die Daten speichern.
- Konstanten sind unveränderliche Werte, fest zur Compile-Zeit.
- C's Kerntypen:
int,float,char,void. - Jeder Typ hat definierte Größe und Bereich, kritisch für speicherbeschränkte Anwendungen.
C Sprache
- Netzwerkprotokolle verstehen: Von der Physikalischen Schicht bis zu fortgeschrittener Arbitration
- Mikroprozessoren: Die Evolution des Stored-Program-Computing
- C# Variablen & Primitive Datentypen meistern: Der komplette Guide
- Variablengültigkeitsbereich in C# verstehen: Klassen-, Methoden- und Blockebene
- C++-Variablen, Literale und Konstanten meistern: Ein umfassender Leitfaden
- C++-Datentypen verstehen: Grundlagen, Modifizierer und Best Practices
- C Variablen, Konstanten und Literale: Ein vollständiger Leitfaden
- C Datentypen erklärt: int, float, char und mehr – Ein vollständiger Leitfaden
- C Speicherklassen verstehen: Gültigkeitsbereich, Lebensdauer und Performance
- Java Primitive Datentypen: Ein klarer Leitfaden