hallo leute!
ich hab ein paar fragen an euch bezüglich pointern in C++
hab mir ein paar sachen diesbezüglich durchgelesen, im großen und ganzen alles verstanden bis auf ein paar dinge:
1) Frage:
ich deklariere 4 Variablen und 1 Pointer:
|
C-/C++-Quelltext
|
1
2
3
4
|
int iZahl1 = 1, iZahl2 = 2;
double dZahl = 3.1;
float fZahl = 4.1f
void *universal;
|
wenn ich nun die adresse von Zahl2 (int) an den univeresllen Pointer (universal) zuweise, funktioniert das einwandfrei:
|
C-/C++-Quelltext
|
1
|
universal = &iZahl2;
|
das gleiche gilt wenn ich die adresse von Zahl3 (double) zuweise:
|
C-/C++-Quelltext
|
1
|
universal = &dZahl;
|
aber folgendes funkioniert nicht mehr:
|
C-/C++-Quelltext
|
1
2
3
|
universal = &iZahl2;
//...
Zahl1 = (*universal) //warum geht das hier nicht?
|
universal hat ja nun eine adresse eines int-wertes bekommen, warum kann ich dann einer anderen int-variable die adresse von *universal nicht mehr zuweisen? (sollte das ein universeller pointer nicht können)
es geht nur dann wenn der pointer als interger-pointer deklariert wurde..
2) Frage:
wozu verwendet man eigentlich pointer? was ist daran einfacher, besser oder schneller? ich verstehe nicht so ganz wo und wozu man pointer nun wirklich verwendet.. und warum gibt es eigentlich die möglichkeit verschiedene pointer verschiedener typen zu deklarieren (int, double usw.) wenn man doch die möglichkeit hat einen universellen pointer zu deklarieren (void *universellerPointer)?
vielen danke für die leute die sich zeit nehmen um auf diese noobige fragen zu antworten
;p