R. 43 wskaźniki - odczytywanie adresu zmiennej
Ostatnio zmodyfikowano 2019-01-21 18:43
rottingham Temat założony przez niniejszego użytkownika |
R. 43 wskaźniki - odczytywanie adresu zmiennej » 2019-01-21 00:43:32 Cześć! Mam problem ze zrozumieniem rozdziału 43 a dokładniej to fragmentu o odczytywaniu adresu zmiennej. Mamy wyjście programu: Wartosc: 123, Adres: 0x72fe3c, Adres wskaznika: 0x72fe30 0x72fe20 0x72fe24 oraz komentarz: Trzeci element tablicy byłby pod adresem 0x72fe28. Z tego wynika, że wskaznik i tablica[4], chociaż niepoprawne, mają ten sam adres. |
No ale - moim zdaniem - przecież nie mają. Trzeci element byłby tym adresem - 0x72fe28 - więc czwarty element byłby pod adresem 0x72fe32 i to nie jest ten sam adres, który ma wskaznik, prawda? Z kolei zgodnie z tym co wyrzuca u mnie kompilator adres trzeciego elementu tablicy pokrywałby się z adresem wskaznika. U mnie wyjście programu wygląda w następujący sposób: Wartosc: 123, Adres: 0x6dfedc, Adres wskaznika: 0x6dfed8 0x6dfed0 0x6dfed4 Jaki popełniam błąd w próbie zrozumienia tematu? |
|
pekfos |
» 2019-01-21 06:49:24 No ale - moim zdaniem - przecież nie mają. |
Nie przejmuj się, jeśli u Ciebie ten kod wypisze inne adresy. Ich faktyczne wartości zależą od różnych rzeczy, więc nigdy nie próbuj ich zgadywać i wpisywać do programu ręcznie. |
Trzeci element byłby tym adresem - 0x72fe28 - więc czwarty element byłby pod adresem 0x72fe32 |
0x72fe28 + 4 = 0x72fe2c. |
|
rottingham Temat założony przez niniejszego użytkownika |
» 2019-01-21 12:49:18 No ok, ale w którym miejscu wskaznik i tablica[4] mają ten sam adres? |
|
pekfos |
» 2019-01-21 14:26:57 Co to znaczy 'w którym miejscu'? |
|
rottingham Temat założony przez niniejszego użytkownika |
» 2019-01-21 17:30:39 Według danych z zadania:
wskaźnik ma adres: 0x72fe30 tablica[4] ma adres: 0x72fe2c.
To nie jest ten sam adres, prawda? A w zadaniu jest napisane, że to jest ten sam adres. Zatem jaki błąd popełniam, że nie umiem tego dostrzec? |
|
pekfos |
» 2019-01-21 18:21:06 |
|
rottingham Temat założony przez niniejszego użytkownika |
» 2019-01-21 18:43:02 Goddamit. Co za oczywiste przeoczenie.
Dzięki za pomoc. Pozdrawiam! |
|
« 1 » |