Einführung in Zeiger in C
In C oder anderen Programmiersprachen haben wir ein Variablenkonzept. Diese Variablen dienen zum Speichern von Werten. Solche Variablen können beim Programmieren verwendet werden. Es gibt jedoch nur wenige Aufgaben, für die keine Variablen erforderlich sind, für die jedoch die Adresse dieser Variablen erforderlich ist. Die Adresse der Variablen bezeichnet den Speicherort, an dem diese Variablen tatsächlich existieren. In diesem Thema lernen wir Zeiger in C kennen. Wir können Zeiger als einen Variablentyp definieren, der die Adresse jeder anderen Variablen enthält, die möglicherweise einen Wert enthält
Verwendung von Zeigern in Programmiersprachen und C
Lassen Sie uns nun diskutieren, dass für C tatsächlich ein Zeiger erforderlich ist. Es gibt viele Aufgaben wie die dynamische Speicherzuweisung, für die beim Programmieren in C Zeiger erforderlich sind. Mit Zeigern kann eine solche Aufgabe leicht ausgeführt werden
Verschiedene Möglichkeiten für den Zugriff auf variable Adressen in C
Versuchen wir herauszufinden, auf welche Weise wir die Adresse einer Variablen in C drucken können.
Es gibt zwei Möglichkeiten, um die Adresse einer Variablen auszudrucken. Diese beiden Methoden sind:
- Verwenden Sie das kaufmännische Und (&)
- Mit dem Zeiger
Betrachten wir jede Methode anhand eines Beispiels
1. Verwenden Sie das kaufmännische Und-Zeichen (&)
Bei dieser Methode verwenden wir das Et-Zeichen-Konzept, um die Adresse einer Variablen zu drucken
Schauen wir uns das an einem Beispiel an
#include
int main () (
double varNumValue= 10.2;
char varTextValue(10) = “abc”;
printf("The address of variable varNumValue: %x\n", &varNumValue );
printf("varTextValue variable address is : %x\n", &varTextValue );
return 0;
)
Kopieren Sie nun den obigen Codeausschnitt und führen Sie ihn aus
Es wird die folgende Ausgabe angezeigt:
The address of variable varNumValue: a0665a48
The address of variable varTextValue is : a0665a3e
Möglicherweise wird jedoch ein anderer Wert angezeigt, der beim Ausführen des Beispiels zufällig zugewiesen wird
Das oben erwähnte Beispiel wird nicht viel benutzt, aber es lohnt sich zu wissen. Schauen wir uns nun das andere Konzept an, das wir in diesem Thema diskutieren.
2. Verwenden Sie den Zeiger
Dies ist ein moderner Ansatz, um auf die Adresse einer Variablen zuzugreifen. Bevor Sie den Zeiger verwenden, müssen Sie die allgemeine Syntax für die Deklaration eines Zeigers kennen
- Die allgemeine Syntax zum Deklarieren eines Zeigers - Eine übliche Syntax zum Deklarieren einer Variablen lautet:
data_type *variable
Dies ist eine gebräuchliche Methode, um einen Zeiger in C zu deklarieren. Hier steht data_type für den Typ der Variablen, deren Adresse gespeichert werden muss. * bedeutet, dass die deklarierte Variable ein Zeiger ist. Eine Variable wird einfach für den Zugriff auf den Wert verwendet
Ein einfaches Beispiel hierfür ist:
double *var_text
Nachdem wir das Konzept der allgemeinen Syntax zum Deklarieren eines Zeigers besprochen haben , lassen Sie uns wissen, wie wir einen Zeiger beim Programmieren verwenden können
Um einen Zeiger in C zu verwenden, müssen grundsätzlich die folgenden drei Schritte ausgeführt werden:
- Definition der Zeigervariable
- Zuweisen der Adresse der Variablen, deren Adresse in der Zeigervariable gespeichert werden soll
- Sobald wir eine Zeigervariable mit der Adresse haben, können wir wieder den Wert der Variablen von der im Zeiger gespeicherten Adresse abrufen. Dies könnte mit * in C geschehen. * Ist einfach einer der unären Operatoren
Verwenden wir die oben genannten Schritte anhand eines Beispiels und erläutern wir dieses Beispiel Schritt für Schritt
Beispiel
#include
int main () (
int varNumValue = 10;
int *ipointervarNumValue;
ipointervarNumValue = &varNumValue;
printf("Address of the variable varNumValue is: %x\n", &varNumValue );
printf("Address stored in the variable ipointervarNumValue is: %x\n", ipointervarNumValue);
printf("Value of the variable *ipointervarNumValue is: %d\n", *ipointervarNumValue );
return 0;
)
Kopieren Sie nun den obigen Codeausschnitt und führen Sie ihn aus
Es wird die folgende Ausgabe angezeigt:
Address of the variable varNumValue is: bf7b7f94
Address stored in the variable ipointervarNumValue is: bf7b7f94
Value of the variable *ipointervarNumValue is: 10
Versuchen wir nun, das obige Beispiel zu verstehen
Die Zeile int varNumValue = 10; deklariert einfach eine Variable mit dem Wert 10
Die zweite Zeile ist die Zeile daneben: int * ipointervarNumValue; wird einfach deklariert, um die Adresse der Variablen zu speichern
Das nächste Code-Snippet lautet: ipointervarNumValue = & varNumValue; wird verwendet, um die Adresse der Variablen zu halten. Hier verwenden wir das kaufmännische Und-Zeichen-Konzept, das wir weiter oben in diesem Artikel beschrieben haben
Jetzt können wir einfach den Wert abrufen und einen Zeiger in unserem Code-Snippet verwenden
Betrachten wir nun verschiedene Zeigertypen in C
Zeigertypen in C
In C gibt es verschiedene Zeigertypen. Die grundlegenden Zeigertypen, die im Allgemeinen verwendet werden, sind:
- Null Zeiger
- Baumelnder Zeiger
- Generische Zeiger
- Wilder Zeiger
Lassen Sie uns jedes erklären
1. Nullzeiger : Ein Nullzeiger ist ein Zeigertyp, der auf nichts zeigt. Es zeigt im Allgemeinen auf die Basisadresse des Segments. Wenn dem Zeiger nichts zugewiesen ist, hat er einen Nullwert
Es wird im Allgemeinen in Header-Dateien wie stdio.h, alloc.h verwendet
2. Dangler-Zeiger: Dieser Zeigertyp kann durch Löschen des Objekts erstellt werden, ohne den Zeigerwert zu ändern
3. Generischer Zeiger: Dieser Zeigertyp wird mit einer Variablen vom Typ void deklariert. Da es sich um einen ungültigen Datentyp handelt, wird es als generischer Zeiger bezeichnet. Dieser Zeigertyp zeigt nicht auf Daten
4. Wild Pointer: Ein nicht initialisierter Zeiger wird als Wild Pointer bezeichnet. Dieser Zeigertyp wird zur Laufzeit initialisiert, wenn er benötigt wird. Dieser Zeigertyp wird als Wild Pointer bezeichnet
Fazit
Zeiger in C zeigen auf die Adresse der Variablen. Diese Variablen werden für die dynamische Speicherzuweisung in C verwendet. Diese Variablen werden mit einem Sternchen deklariert, um anzuzeigen, dass die Variable ein Zeiger ist. Diese werden in der Header-Datei bei der Programmierung verwendet.
Empfohlene Artikel
Dies ist eine Anleitung zu Zeigern in C. Hier werden die verschiedenen Arten und Verwendungen von Zeigern in C anhand von Methoden und Beispielen erläutert. Sie können sich auch die folgenden Artikel ansehen, um mehr zu erfahren -
- Was ist eine Programmiersprache?
- C gegen C ++
- Muster in der C-Programmierung
- Beste C-Compiler
- Anleitung zu Zeigern in C ++
- Zeiger in C # mit Beispielen