Zeiger Flashcards

1
Q

Was ist ein Zeiger?

A

Ein Zeiger ist wie eine Variable, nur das statt eines Wertes ein Speicheradresse gespeichert wird.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Was ist eine indirekte Adressierung?

A

Greife auf den Wert in der Adresse zu, die in dieser Adresse steht.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Zeiger - Deklaration

A
Datentyp *zeigerbezeichner;
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Was muss bei der Deklaration von Zeigern als Datentyp angegeben werden?

A

Der Datentyp der Adresse, auf die der Zeiger Zeigt.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Was für ein Datentyp kann ich bei der Zeigerdeklaration angeben, wenn ich nicht weiß was für ein Datentyp die Adresse hat, auf die der Zeiger zeigen soll oder wenn er auf unterschiedliche Datentypen zeigen soll.

A

Der Datentyp void:

void *zeigerbezeichner
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Was ist das große Problem, wenn man auf einen Zeiger zugreift, der noch nicht initialisiert wurde?

A

Im Zeiger steht dann irgendeine beliebige Adresse. Wenn auf diese Zugegriffen wird kann es zu Problemen kommen bis hin zum Abstrutz des Betriebssystems wenn es sich bei der Adresse um eine Adresse handelt in der z.B. wichtige Dateien stehen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Wie kann ich auf den Wert in der Variable zugreifen, auf die mein Zeiger zeigt?

A

Mit dem Indirektionsoperator *
~~~
int a = *y;
~~~

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Wie kann ich mit dem Indirektionsoperator den Wert einer Variable verändern auf die mein Zeiger zeigt?

A
*y = 10;
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Welche best practice Methode gibt es um zu verhindern dass auf nicht initialisierte Zeiger oder auf Zeiger mit illegalen Werten zugegriffen wird.

A

Der Zeiger wird mit NULL initialisiert oder ihm wird der NULL Wert zugewiesen.
~~~
int *y = NULL;
~~~

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q
A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly