Ziel-C-Variablen

Eine Variable ist nichts anderes als ein Name für einen Speicherbereich, den unsere Programme bearbeiten können. Jede Variable in Objective-C hat einen bestimmten Typ, der die Größe und das Layout des Speichers der Variablen bestimmt. den Wertebereich, der in diesem Speicher gespeichert werden kann; und die Menge von Operationen, die auf die Variable angewendet werden können.

Der Name einer Variablen kann aus Buchstaben, Ziffern und dem Unterstrich bestehen. Es muss entweder mit einem Buchstaben oder einem Unterstrich beginnen. Groß- und Kleinbuchstaben unterscheiden sich, da bei Objective-C zwischen Groß- und Kleinschreibung unterschieden wird. Basierend auf den im vorherigen Kapitel erläuterten Grundtypen gibt es die folgenden Grundvariablentypen:

Sr.Nr. Typ & Beschreibung
1

char

Normalerweise ein einzelnes Oktett (ein Byte). Dies ist ein ganzzahliger Typ.

2

int

Die natürlichste Ganzzahlgröße für die Maschine.

3

float

Ein Gleitkommawert mit einfacher Genauigkeit.

4

double

Ein Gleitkommawert mit doppelter Genauigkeit.

5

void

Repräsentiert das Fehlen eines Typs.

Mit der Programmiersprache Objective-C können auch verschiedene andere Variablentypen definiert werden, die in den folgenden Kapiteln wie Aufzählung, Zeiger, Array, Struktur, Vereinigung usw. behandelt werden. In diesem Kapitel werden nur grundlegende Variablentypen untersucht.

Variablendefinition in Ziel-C

Eine Variablendefinition bedeutet, dem Compiler mitzuteilen, wo und wie viel der Speicher für die Variable erstellt werden soll. Eine Variablendefinition gibt einen Datentyp an und enthält eine Liste einer oder mehrerer Variablen dieses Typs wie folgt:

type variable_list;

Hier, type muss ein gültiger Objective-C-Datentyp sein, einschließlich char, w_char, int, float, double, bool oder eines benutzerdefinierten Objekts usw., und variable_listkann aus einem oder mehreren durch Kommas getrennten Bezeichnernamen bestehen. Einige gültige Erklärungen werden hier angezeigt -

int    i, j, k;
char   c, ch;
float  f, salary;
double d;

Die Linie int i, j, k;beide deklarieren und definieren die Variablen i, j und k; Dies weist den Compiler an, Variablen mit den Namen i, j und k vom Typ int zu erstellen.

Variablen können in ihrer Deklaration initialisiert (mit einem Anfangswert versehen) werden. Der Initialisierer besteht aus einem Gleichheitszeichen, gefolgt von einem konstanten Ausdruck wie folgt:

type variable_name = value;

Einige Beispiele sind -

extern int d = 3, f = 5;    // declaration of d and f. 
int d = 3, f = 5;           // definition and initializing d and f. 
byte z = 22;                // definition and initializes z. 
char x = 'x';               // the variable x has the value 'x'.

Für die Definition ohne Initialisierer: Variablen mit statischer Speicherdauer werden implizit mit NULL initialisiert (alle Bytes haben den Wert 0). Der Anfangswert aller anderen Variablen ist undefiniert.

Variablendeklaration in Ziel-C

Eine Variablendeklaration gibt dem Compiler die Sicherheit, dass eine Variable mit dem angegebenen Typ und Namen vorhanden ist, sodass der Compiler mit der weiteren Kompilierung fortfahren kann, ohne dass vollständige Details zur Variablen erforderlich sind. Eine Variablendeklaration hat nur zum Zeitpunkt der Kompilierung ihre Bedeutung. Der Compiler benötigt zum Zeitpunkt der Verknüpfung des Programms eine tatsächliche Variablendeklaration.

Eine Variablendeklaration ist nützlich, wenn Sie mehrere Dateien verwenden und Ihre Variable in einer der Dateien definieren, die zum Zeitpunkt der Verknüpfung des Programms verfügbar sind. Du wirst benutzenexternSchlüsselwort, um eine Variable an einer beliebigen Stelle zu deklarieren. Sie können eine Variable in Ihrem Objective-C-Programm zwar mehrmals deklarieren, sie kann jedoch nur einmal in einer Datei, einer Funktion oder einem Codeblock definiert werden.

Beispiel

Versuchen Sie das folgende Beispiel, in dem Variablen oben deklariert wurden, aber innerhalb der Hauptfunktion definiert und initialisiert wurden:

#import <Foundation/Foundation.h>

// Variable declaration:
extern int a, b;
extern int c;
extern float f;

int main () {
  /* variable definition: */
  int a, b;
  int c;
  float f;
 
  /* actual initialization */
  a = 10;
  b = 20;
  
  c = a + b;
  NSLog(@"value of c : %d \n", c);

  f = 70.0/3.0;
  NSLog(@"value of f : %f \n", f);
 
  return 0;
}

Wenn der obige Code kompiliert und ausgeführt wird, ergibt sich das folgende Ergebnis:

2013-09-07 22:43:31.695 demo[14019] value of c : 30 
2013-09-07 22:43:31.695 demo[14019] value of f : 23.333334

Das gleiche Konzept gilt für die Funktionsdeklaration, bei der Sie zum Zeitpunkt der Deklaration einen Funktionsnamen angeben und dessen tatsächliche Definition an einer anderen Stelle angegeben werden kann. Im folgenden Beispiel wird die Verwendung der C-Funktion erläutert. Wie Sie wissen, unterstützt Objective-C auch Funktionen im C-Stil.

// function declaration
int func();

int main() {
   // function call
   int i = func();
}

// function definition
int func() {
   return 0;
}

L-Werte und R-Werte in Ziel-C

In Objective-C gibt es zwei Arten von Ausdrücken:

  • lvalue- Ausdrücke, die sich auf einen Speicherort beziehen, werden als "lvalue" -Ausdruck bezeichnet. Ein l-Wert kann entweder als linke oder rechte Seite einer Zuweisung angezeigt werden.

  • rvalue- Der Begriff rWert bezieht sich auf einen Datenwert, der an einer bestimmten Adresse im Speicher gespeichert ist. Ein r-Wert ist ein Ausdruck, dem kein Wert zugewiesen werden kann. Dies bedeutet, dass ein r-Wert möglicherweise auf der rechten, aber nicht auf der linken Seite einer Zuweisung angezeigt wird.

Variablen sind l-Werte und können daher auf der linken Seite einer Zuweisung angezeigt werden. Numerische Literale sind r-Werte und können daher nicht zugewiesen werden und nicht auf der linken Seite angezeigt werden. Es folgt eine gültige Aussage -

int g = 20;

Das Folgende ist jedoch keine gültige Anweisung und würde einen Fehler bei der Kompilierung verursachen.

10 = 20;