Show Menu

C - Zeiger / Pointer Cheat Sheet by

Übersicht über Zeiger / Pointer in C
c     pointer     pointer     zeiger

Kurzüb­ersicht

Deklar­ation und Definition
int *zeiger;
Deklaration eines Zeigers zeiger auf einen int
Speich­era­dresse einer Variable in Zeiger speichern
int i;
int *ip;
ip = &i;
Auf den Wert (nicht die Speich­era­dresse) eines Zeigers zugreifen
int i;
int *ip;
ip = *i;
Zeigerwert NULL
In stdio.h definiert. Wird genutzt, um zu vermeiden, dass ein Zeiger irgend­wohin zeigt.
NULL ist ein Zeiger!
unverä­nde­rbare Zeiger
Werden wie Variablen mit dem Schlüs­selwort const definiert.
Zeiger auf Zeiger
Zeiger können auch auf andere Zeiger zeigen.
int Wert = 1234;
int *p1 = &Wert;
int **p2 = &p1;
Einen Zeiger auf einen Zeiger erstellt man mit dem doppelten Variab­len­ope­rator **

Zeiger Operatoren

Operator
Funk­tion
&
Adress­ope­rator
Greift auf die Speich­era­dresse der Variablen, auf die der Zeiger zeigt zu.
*
Variab­len­ope­rator
Greift auf den Wert der Variablen, auf die der Zeiger zeigt, zu.

Zeiger und Arrays

Array
Zeiger
Adre­sse
Inhalt
IntArray[0]
*IntZeiger
00004711h
5
IntArray[1]
*(IntZeiger + 1)
00004715h
4
int *IntZ­eiger = NULL;
int IntArr­ay[5];

IntZeiger = IntArray;
IntAr­ray[0] = 5;
IntAr­ray[1] = 4;
*Int­Zeiger = 5;

Da Zeiche­nketten ein Spezia­lfall von Arrays sind, gelten diese Regeln dort ebenfa­lls.
 

Zeiger­-Ar­ith­metik Regeln

Zeiger können mit ganzen Zahlen addiert und Subtra­hiert werden.
Zwei Zeiger gleichen Typs lassen sich subtra­hieren.
ip1 = 1 - ip2 wäre verboten, da 1 vom Typ int und ip2 vom Typ int * ist.
Alle anderen Operat­ionen, wie Multip­lik­ation oder Division usw. sind nicht erlaubt.
Es wird nicht in Bytes, sondern in Anzahl von Elementen des Datentyps, auf den der Zeiger zeigt, gerechnet.
Wird 1 zu einem Zeiger auf int addiert, zeigt er nicht auf die nächste Speich­era­dresse, sondern auf den nächsten int.

Zeiger­-Ar­ith­metik Beispiele

int i1 = 5, i2 = 7;
int ip1 = &1, ip2 = &i2;
Oper­ation
erla­ubt?
ip2 = ip1 + 1;
ja - Zeiger und ganze Zahl
ip1 = ip2 - 1;
ja - Zeiger und ganze Zahl
ip2 = 1 + ip1;
ja - Zeiger und ganze Zahl
ip1 = 1 - ip2;
nein - es können nur Zeiger gleichen Typs subtra­hiert werden
i1 = ip1 + ip2;
nein - keine ganze Zahl, sondern zwei Zeiger
i2 = ip2 - ip1;
ja - zwei Zeiger vom gleichen Typ

Download the C - Zeiger / Pointer Cheat Sheet

1 Page
//media.cheatography.com/storage/thumb/timsch_c-zeiger-pointer.750.jpg

PDF (recommended)

Alternative Downloads

Share This Cheat Sheet!

Like this cheat sheet? Check out our sponsors!

Readable.io is a collection of tools to make your writing better. More readable content means higher conversion rates and better reader engagement. Measure website and document readability, measure keyword density and more!

Click Here To Get Started!

 

Comments

No comments yet. Add yours below!

Add a Comment

Your Comment

Please enter your name.

    Please enter your email address

      Please enter your Comment.

          Related Cheat Sheets

          C Reference Cheat Sheet

          More Cheat Sheets by TimSch

          C- Grundlagen zu Variablen Cheat Sheet
          C - Kontrollstrukturen Cheat Sheet