NXC: Variablen und Datentypen

Was sind Datentypen?Bearbeiten

Datentypen sind die Dinge, die der Computer (bzw. das Betriebssystem) verarbeiten kann. In NXC gibt es Festkommazahlen, Zustände, Zeichen, Zeichenketten und Strukturen.

Was sind Variablen?Bearbeiten

In Variablen kann man diese Datentypen speichern. Es gibt Variablentypen, die typisieren, welche Datentypen aufgenommen werden können. Für Festkommazahlen gibt es int, unsigned int, short, long und unsigned long. Für Zustände gibt es den Typ bool. Für Zeichen gibt es char, für Zeichenkettenstring . Für zusammengesetzte Typen (Strukturen) struct.

Erzeugung von VariablenBearbeiten

Variablen werden so erzeugt:

Datentypname Variablenname = Wert;

Das = und eine Angabe eines Wertes sind optional und können später auch noch nachgeholt werden. Über den Variablennamen kann die Variable jetzt angesprochen werden, ein Beispiel:

int a = 13;
int b = a + 45;

Es gibt für Variablennamen Einschränkungen:

  • Das erste Zeichen muss ein Buchstabe oder ein Unterstrich sein
  • Weiter dürfen Zahlen, Zeichen und Unterstriche folgen.

Außerdem darf keine Variable einen der folgenden Namen haben:

__RETURN__  __RETVAL__  __STRRETVAL__  __TMPBYTE__  __TMPWORD__  __TMPLONG__
abs    asm   bool   break  byte    case    char  const   continue  default  do       else 
false  for   goto   if     inline  int     long  mutex   priority  repeat   return   safecall
short  sign  start  stop   string  struct  sub   switch  task      true     typedef  unsigned
until  void  while

FestkommazahlenBearbeiten

Festkommazahlen sind die in der Mathematik als Ganze Zahlen bezeichneten Datentypen, z.B: 13, 13354545, -4555 ,-1, 0. Will man eine kleinere Zahl speichern, nimmt man short. Irgendwann jedoch läuft die Variable über, das heißt, dass sie ihre Kapazität erreicht hat. Wenn das so ist, sollte man int nehmen. Für noch größere Zahlen gibt es long. Wenn man diesen Variablentypen das Wort unsigned voranstellt, können sie keine negativen Werte haben und die Kapazität im Positiven verdoppelt sich.

ZuständeBearbeiten

Für Zustände ist bool zuständig. Ein Zustand kann nur zwei Werte annehmen: true und false oder 1 und 0. Hier ist er auch noch nicht so wichtig, er wird aber im Kapitel Kontrollstrukturen eine Rolle spielen.

Zeichen und ZeichenkettenBearbeiten

Für Zeichen gibt es char. Man weist ihm einfach das Zeichen in Hochkommas zu. Für Zeichenketten gibt es string. Hier werden mehrere Zeichen mit Anführungsstrichen abgegrenzt.

StrukturenBearbeiten

In Strukturen können mehrere Variablen enthalten sein, die in gewisser Weise zusammen gehören. Die Erstellung einer Struktur sieht anders aus:

struct Strukturname {
  Die Variablen
};

Die Variablen werden so angesprochen:

 Strukturname.Variablenname 

ArraysBearbeiten

Arrays werden dann benutzt, wenn von einem Datentyp mehrere zusammengehören, z. B. die Lottozahlen. Arrays werden so erstellt:

 Variablentyp Arrayname [Anzahl der Elemente];

Obwohl man, um 10 Elemente zu besitzen, eine 10 als Anzahl schreiben muss, fängt die Abfrage bei 0 an, sprich es geht von 0 bis 9 bei 10 Elementen.

KonstantenBearbeiten

Konstanten sind Variablen, die diesen Namen nicht mehr tragen dürfen, da sie nicht mehr variabel sind. Ihr Datentyp lässt sich nicht mehr ändern. Deswegen muss er auch schon zur Erstellung der Konstante zugewiesen werden. Mit const vor dem Variablentyp wird die Variable konstant.

Es gibt allerdings auch eine andere Methode, bei der am Anfang des Programms einmal der Wert festgelegt wird. Die Definition erfolgt wie folgt:

#define NAME wert

Man hat sich geeinigt, den Namen der Konstante immer in Großbuchstaben zu schreiben. Man kann Zahlen und Texte übergeben. Aufgerufen wird der Wert über den Namen der Konstanten.