Kwestia formalna. Co jest zmienną wskaźnikową? *wskaz_x czy samo wskaz_x ?
Ostatnio zmodyfikowano 2010-09-21 16:31
marek Temat założony przez niniejszego użytkownika |
Kwestia formalna. Co jest zmienną wskaźnikową? *wskaz_x czy samo wskaz_x ? » 2010-09-20 16:37:22 Biorąc pod uwagę ten kawałek
to mówimy że zmienną jest x a nie int x
To w takim razie przy definicji zmiennej wskaźnikowej int x = 50; int * wsk_na_x; wsk_na_x = & x
zmienną wskaźnikową jest wsk_na_x czy *wsk_na_x ?
według mnie * jest częścią wyrażenia int* i dlatego zmienną wskaźnikową jest wyrażenie wsk_na_x
|
|
pekfos |
» 2010-09-20 17:09:14 * jest związane z nazwą a nie typem int * a, b; int * c, * d;
* przed nazwą wskaźnika to wywołanie operatora dereferencji czyli odwołania się do wartości wskazywanej. |
|
Elaine |
» 2010-09-20 17:59:29 * jest związane z nazwą a nie typem |
Z typem, z typem - typem jest int* (patrz np. vector<int*>). Gwiazdkę trzeba przy deklarowaniu dać obok zmiennej tylko i wyłącznie z powodu dziwnej składni deklaratorów. |
|
marek Temat założony przez niniejszego użytkownika |
» 2010-09-20 18:27:55 Coraz bardziej jestem przekonany że zmienną wskaźnikową jest wsk_na_x
a nie * wsk_na_x
tak jak np w wyrażeniu ++x zmienną jest x
a nie ++x
Wątpliwości wzięły się prawdopodobnie stąd, że jedynym działaniem na zmiennej wskaźnikowej z jakim dotąd się spotkałem była operacja wyłuskania (operator*) i nigdy zmienna ta nie występowała z innymi operatorami np
wsk_na_x = wsk_na_x + 123
|
|
pekfos |
» 2010-09-20 19:08:56 cout &( 0x22ff74 ); operatorem & pobierasz adres, konkretnie jakiejś stałej utworzonej przez kompilator o wartości 0x22ff74 a poza tym nigdy nie zrobią tego samego bo adres x przy każdym uruchomieniu będzie inny |
|
marek Temat założony przez niniejszego użytkownika |
» 2010-09-21 16:31:28 Już wiem.
Zmienną wskaźnikową jest wsk_na_x a nie * wsk_na_x |
|
« 1 » |