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 Variablen
[Bearbeiten]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
Festkommazahlen
[Bearbeiten]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ände
[Bearbeiten]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 Zeichenketten
[Bearbeiten]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.
Strukturen
[Bearbeiten]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
Arrays
[Bearbeiten]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.
Konstanten
[Bearbeiten]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.