Drucken

Variablen

Variablen werden dazu genutzt Informationen aufzunehmen, um diese später wieder zu verwenden. Variablen reservieren sich bei ihrer Erzeugung einen Teil des Arbeitsspeichers, in dem der Wert gespeichert wird. Die Größe des benötigten Arbeitsspeichers ist davon abhängig, was gespeichert werden muss.

Wenn man sich eine bildliche Vorstellung davon machen möchte, könnte man den Arbeitsspeicher mit einem Tisch vergleichen. Möchte man auf diesem Tisch Getränke (zu speichernde Werte) lagern und diese einfach auf den Tisch schütten, „verlören“ sie sich auf dem gesamten Tisch und sind somit nicht mehr nutzbar. Um dies zu verhindern benötigt man Variablen. In unserem Beispiel wären dies Gläser. Wenn ich also ein Getränk auf dem Tisch lagern möchte, stelle ich erst ein Glas (Variable) auf den Tisch (Arbeitsspeicher). Dadurch ist der Platz, wo das Glas steht, für diese Glas und dessen Inhalt reserviert. Giese ich nun das Getränk (zu speichernder Wert) in das Glas (Variable), bleibt dieses solange dort gespeichert, bis man es austrinkt.

Variablen heißen Variablen, da der Inhalt den sie besitzt variabel sein kann, d.h. der Inhalt einer Variablen kann zu jedem beliebigen Zeitpunkt im Programmablauf verändert werden.

 


Variablendeklaration

Bevor man eine Variable verwenden kann, muss man festlegen von welchem Datentyp der Inhalt sein darf, den die Variable beinhaltet kann.
Der Datentyp bestimmt die Größe des Glases, also legt fest wie viel Arbeitsspeicher verwendet wird.
Welche Datentypen es gibt und welche Möglichkeiten diese bieten, sieht man in der Tabelle zu Datentypen von Variablen.
Eine Variable kann man überall innerhalb des Quellcodes deklarieren. Um eine Variable zu deklarieren schreibt man als erstes den Datentyp (siehe Tabelle) und dann den Namen der Variablen in den Quellcode und beendet die Zeile mit einem Semikolon.

Wichtig:

 

/*
Max Mustermann
Variablen deklarieren
23.05.2005
*/

#include <stdio.h>

void main ()
{
   int zahl;     // Es wird die Variable "zahl" des Datentyps "int" erstellt
   char zeichen; // Es wird die Variable "zeichen" des Datentyps "char" erstellt

   ...
}

 

Benötigt man mehrere Variablen eines Datentyps, so können diese durch Komma getrennt hinter dem Datentyp aufgelistet werden. Also:

int zahl1, zahl2, zahl3;  


Wertzuweisung in Variablen

Um einer deklarierten Variable einen Wert zu zuweisen, benutzt man den Zuweisungsoperator. Bei der Programmiersprache C ist dies das "=".

Einer Variablen kann zu jeder Zeit ein Wert zugewiesen werden (nach der Deklaration). Auch bei der Deklaration kann man der neuen Variablen ein Wert zuweisen. Dieser Vorgang nennt man Initialisierung.

int  zahl = 100;

 

/*
Max Mustermann
Variablen deklarieren
23.05.2005
*/

#include <stdio.h>

void main()
{
   char zeichen;
   int    zahl = 123; // der Variablen "zahl" wird während der Deklaration der Wert
                      // 123 übergeben
   zeichen = 'a';     // der Variablen "zeichen" wird der Buchstabe 'a' übergeben
}
 

Datentypen von Variablen

In der folgenden Tabelle ist ein Überblick über einfache Datentypen in C dargestellt. In der 2. Spalte sind die Namen der Datentypen aufgelistet, die durch die Ergänzungen in der 1. Spalte genauer spezifiziert werden können. Dies hat einen Einfluss auf die Größe des Arbeitsspeichers (Spalte 3) und dem Zahlenbereich (Spalte 4), der durch diese Variable abgedeckt wird. In den beiden letzten Spalten stehen die Formatspezifikation (benötigt man zum Beispiel für scanf() und printf()) und die Bedeutung (Inhalt) des Datentyps.

 

Ergänzungen   Datentyp  Speicher  Zahlenbereich  Format-
spezifikation
 Bedeutung
 short  int  2 Byte  ±32767  hd oder hi  Ganze Zahlen
   int  4 Byte  ±2147483647  d oder i  Ganze Zahlen
 long  int  4 Byte  ±2147483647  ld oder li  Ganze Zahlen
 unsigned short  int  2 Byte  0 .. 65535  ho  Ganze Zahlen
 unsigned  int   4 Byte  0 .. 4294967295  o  Ganze Zahlen
 unsigned long  int  4 Byte  0 .. 4294967295  lo  Ganze Zahlen
   float  4 Byte  3.4*10−38 ..
 34*1038
 f, e oder g  Fließkommazahlen
   double  4 Byte  1.7*10−308 ..
 1.7*10308
 lf, le oder lg  Fließkommazahlen
 long  double  8 Byte   3.4*10−4932 ..
 3.4*104932
 lf, le oder lg  Fließkommazahlen
   char   1 Byte    c  Einzelnes Zeichen
   char[]      s  Zeichenkette
   bool      d oder i   Logische Variable

 


Typkonvertierung

Wenn bei einer Berechnung mehrere Variablen, die von unterschiedlichen Datentypen abhängig sind, verwendet werden, werden sie in einem gemeinsamen Typen nach ein paar wenigen Regeln umgewandelt. Im Allgemeinen sind die einzig automatischen Umwandlungen solche von einem kleinen zu eine großen Typen ohne Verlust von Informationen.

Man kann aber auch Typen selbst umwandeln (konvertieren). Dies funktioniert indem man in runden Klammern den gewünschten Datentyp vor die Variable schreibt:

 

#include <stdio.h>

void main()
{
   char zeichen;
   int    zahl1 = 123; 
   float zahl2;

   zahl2 = (float) zahl1;  // der Inhalt der Variablen "zahl1" wird bei der Zuweisung
                           // in einen Float-Wert konvertiert und in der Variablen
                           // "zahl2" gespeichert. Der Wert der Variablen "zahl1" ist
                           // immer noch von Datentyp "int".
}