Referencja - pytanie
Ostatnio zmodyfikowano 2009-05-13 22:57
Haker123 Temat założony przez niniejszego użytkownika |
Referencja - pytanie » 2009-05-13 22:50:30 Witam. Mam takie glupie pytanie, mianowicie mam program #include <iostream> #include <conio.h> using namespace std; int main() { long long zmienna = 213; long long * wskaznik =& zmienna; cout << "&zmienna=" <<& zmienna << endl; cout << "wskaznik=" << wskaznik << endl; cout << "zmienna=" << zmienna << endl; getch(); return( 0 ); }
I jakos mi sie wydaje ze cos jest nie tak bo zmienna=213 &zmienna=0x22ff70 wskaznik=0x22ff70 A jesli zmienna bedzie miala inna wartosc to &zmienna oraz wskaznik beda rownaly sie tyle samo co wczesniej (0x22ff70) Czy tak powinno byc?? A jak powinno to dlaczego tak jest? |
|
Haker123 Temat założony przez niniejszego użytkownika |
» 2009-05-13 23:01:42 Dobra moze troszke zle napisalem.
Ale dalej nie wiem czemu sie tak dzieje i czy jest wszystko dobrze z tym |
|
WunM |
» 2009-05-13 23:04:59 Adres zmiennej się nie zmienia. Jeśli zmienisz jej wartość (zmiennej) to jej adres pozostaje taki sam. Wszystko jest dobrze. |
|
Haker123 Temat założony przez niniejszego użytkownika |
» 2009-05-13 23:06:29 No dobrze ale dalczego zmienna=213 a &zmienna rowna sie jakos dziwnie i w wyniku ma liczby oraz cyfry ;/ |
|
WunM |
» 2009-05-13 23:11:40 Adres występuje w zapisie hexadecymedalnym (szesnastkowym). Tyle że w C++ taki zapis zamiast np. 3FF45h to występuje jako 0x3ff45.
Gdyby zmienna była skrzynką pocztową, a jej wartość listami znajdującymi się w tej skrzynce, to listy (wartość) wysyłane były by pod ten sam adres (skrynkę (zmienną)). Więc zmienna nie zmienia swojego adresu, za to może wartość która znajduje się pod jej adresem. Twój program zwraca wartość zmiennej a potem jej adres. Używasz wskażników i operatora & do uzyskania adresu zmiennej. |
|
Haker123 Temat założony przez niniejszego użytkownika |
» 2009-05-13 23:14:25 Aha to juz wiem o co chodzi ;]
Wielkie dzieki za to ze mi to wytlumaczyles ;] |
|
manfred |
» 2009-05-13 22:57:44 Jak zmieni się WARTOŚĆ zmiennej, to jej ADRES pozostanie taki sam, nie? A... gdzie tu rekurencja? |
|
« 1 » |