C ++ - Zeiger
C ++ - Zeiger sind einfach und machen Spaß zu lernen. Einige C ++ - Aufgaben können einfacher mit Zeigern ausgeführt werden, und andere C ++ - Aufgaben, z. B. die dynamische Speicherzuweisung, können ohne sie nicht ausgeführt werden.
Wie Sie wissen, ist jede Variable ein Speicherort, und für jeden Speicherort ist eine Adresse definiert, auf die mit dem kaufmännischen Und (&) -Operator zugegriffen werden kann, der eine Adresse im Speicher angibt. Beachten Sie Folgendes, um die Adresse der definierten Variablen zu drucken:
#include <iostream>
using namespace std;
int main () {
int var1;
char var2[10];
cout << "Address of var1 variable: ";
cout << &var1 << endl;
cout << "Address of var2 variable: ";
cout << &var2 << endl;
return 0;
}
Wenn der obige Code kompiliert und ausgeführt wird, ergibt sich das folgende Ergebnis:
Address of var1 variable: 0xbfebd5c0
Address of var2 variable: 0xbfebd5b6
Was sind Zeiger?
EIN pointerist eine Variable, deren Wert die Adresse einer anderen Variablen ist. Wie bei jeder Variablen oder Konstante müssen Sie einen Zeiger deklarieren, bevor Sie damit arbeiten können. Die allgemeine Form einer Zeigervariablendeklaration lautet -
type *var-name;
Hier, typeist der Basistyp des Zeigers; Es muss ein gültiger C ++ - Typ sein undvar-nameist der Name der Zeigervariable. Das Sternchen, mit dem Sie einen Zeiger deklariert haben, ist das gleiche Sternchen, das Sie für die Multiplikation verwenden. In dieser Anweisung wird das Sternchen jedoch verwendet, um eine Variable als Zeiger zu kennzeichnen. Es folgen die gültigen Zeigerdeklarationen -
int *ip; // pointer to an integer
double *dp; // pointer to a double
float *fp; // pointer to a float
char *ch // pointer to character
Der tatsächliche Datentyp des Werts aller Zeiger, ob Ganzzahl, Gleitkomma, Zeichen oder auf andere Weise, ist derselbe, eine lange Hexadezimalzahl, die eine Speicheradresse darstellt. Der einzige Unterschied zwischen Zeigern verschiedener Datentypen ist der Datentyp der Variablen oder Konstante, auf die der Zeiger zeigt.
Verwenden von Zeigern in C ++
Es gibt nur wenige wichtige Operationen, die wir sehr häufig mit den Zeigern ausführen werden. (a) Wir definieren eine Zeigervariable. (b) Weisen Sie einem Zeiger die Adresse einer Variablen zu. (c)Greifen Sie schließlich auf den Wert an der Adresse zu, die in der Zeigervariablen verfügbar ist. Dazu wird der unäre Operator * verwendet, der den Wert der Variablen zurückgibt, die sich an der durch ihren Operanden angegebenen Adresse befindet. Das folgende Beispiel verwendet diese Operationen -
#include <iostream>
using namespace std;
int main () {
int var = 20; // actual variable declaration.
int *ip; // pointer variable
ip = &var; // store address of var in pointer variable
cout << "Value of var variable: ";
cout << var << endl;
// print the address stored in ip pointer variable
cout << "Address stored in ip variable: ";
cout << ip << endl;
// access the value at the address available in pointer
cout << "Value of *ip variable: ";
cout << *ip << endl;
return 0;
}
Wenn der obige Code kompiliert und ausgeführt wird, ergibt er Folgendes:
Value of var variable: 20
Address stored in ip variable: 0xbfc601ac
Value of *ip variable: 20
Zeiger in C ++
Zeiger haben viele, aber einfache Konzepte und sind für die C ++ - Programmierung sehr wichtig. Es gibt einige wichtige Zeigerkonzepte, die einem C ++ - Programmierer klar sein sollten:
Sr.Nr. | Konzept & Beschreibung |
---|---|
1 | Nullzeiger C ++ unterstützt den Nullzeiger, eine Konstante mit dem Wert Null, die in mehreren Standardbibliotheken definiert ist. |
2 | Zeigerarithmetik Es gibt vier arithmetische Operatoren, die für Zeiger verwendet werden können: ++, -, +, - |
3 | Zeiger gegen Arrays Zwischen Zeigern und Arrays besteht eine enge Beziehung. |
4 | Array von Zeigern Sie können Arrays definieren, die eine Reihe von Zeigern enthalten. |
5 | Zeiger auf Zeiger In C ++ können Sie einen Zeiger auf einen Zeiger usw. haben. |
6 | Zeiger an Funktionen übergeben Durch Übergeben eines Arguments als Referenz oder als Adresse kann das übergebene Argument in der aufrufenden Funktion von der aufgerufenen Funktion geändert werden. |
7 | Zeiger von Funktionen zurückgeben Mit C ++ kann eine Funktion auch einen Zeiger auf eine lokale Variable, eine statische Variable und einen dynamisch zugewiesenen Speicher zurückgeben. |