In diesem Tut möchte ich euch den Unterschied zwischen Variablen und Konstanten erklären:
1. Variablen
Variable beinhalten Daten, die sich zur Laufzeit des Programmes verändern können. Jede Variable muss vor ihrer ersten Verwendung deklariert werden. Dabei werden Datentyp und Name (Bezeichner) dem Compiler bekanntgegeben. Die wichtigsten Eigenschaften von Variablen sind:
- Datentyp
- Name (Bezeichner)
- Wert
- Speicheradresse
- Speichergröße (benötigter Speicherplatz)
Das folgende Beispiel zeigt die Deklaration einiger Variablen. Dabei werden die wichtigsten Datentypen int, double und char verwendet. Bei der Deklaration bleiben Variablen uninitialisiert, d.h. sie enthalten einen zufälligen Wert. Variable können bei der Deklaration auch gleichzeitig initialisiert werden.
int i, j = 0, k = 12;
double x = -3.14, y = 1.2E+03;
char ch, z = 'a';
-----------------------------------
2. Konstante
a) Explizite Konstante
Eine explizite Konstante ist vergleichbar mit einer Variablen. Ihr Wert kann aber zur Laufzeit des Programms nicht mehr verändert werden. Sie wird mit dem zusätzlichen Schlüsselwort const deklariert und muss bei der Deklaration sofort initialisiert werden.
const int i;
const double pi = 3.14159;
const char z = 'a';
b) Preprozessorkonstante
Neben expliziten Konstanten kennt C auch Preprozessorkonstante oder sog. symbolische Konstante. Diese haben keinen Datentyp und belegen auch keinen Speicherplatz, sondern werden über die Peprozessoranweisung
#define Audruck1 Ausdruck2
definiert. Der Preprozessor führt vor dem eigentlichen Compilerlauf ein Suchen und Erstzen durch und ersetzt im Quelltext jedes Vorkommen von Ausdruck1 durch Ausdruck2.
z.B.
#define PI 3.14159
#define BASE 10