Witam,
mam bardzo proste pytanie:
gdy definiujemy sobie wskaźnik
int *w;
to informacja, że wskaźnik w wskazuje na zmienną typu int, musi być zapisana w gdzies pamięci,czyż nie? Więc moje pytanie gdzie?
Witam,
mam bardzo proste pytanie:
gdy definiujemy sobie wskaźnik
int *w;
to informacja, że wskaźnik w wskazuje na zmienną typu int, musi być zapisana w gdzies pamięci,czyż nie? Więc moje pytanie gdzie?
Nigdzie nie jest to zapisane. To jest obsługiwane przez kompilator. Typy jako takie w kodzie maszynowym nie istnieją.
@daniel20 A to niby czemu? Przecież w chwili kompilacji i tak wszystkie nazwy zmiennych zamieniane są na ich adresy, a wszystkie operacje są zamieniane na odpowiednie operacje asemblera. W efekcie już w chwili kompilacji wszędzie ten "typ" będzie brany pod uwagę i zapisy / odczyty etc będą wykonywane dla sizeof(int) zmiennych.
Zobacz sobie jak wygląda kod asemblera po komplikacji ;]
W gcc wystarczy dać przełącznik -S