#include<iostream>
using namespace std;
main()
{
char znaki[10];
char *wsk;
int tab[2];
int *t;
t = &tab[1];
tab[1] = 2;
wsk = &znaki[0];
znaki[0] = 'a';
cout << "wsk: " << wsk << " *wsk: " << *wsk << endl;
cout << "t: " << t << " *wt: " << *t << endl;
return 0;
}
mam pytanie: po kompilacji poniższego kodu
wsk: a *wsk: a
t: 0x22ff38 *wt: 2
nie rozumiem jednej rzeczy: dlaczego zmienna int na którą wskazuje wskaźnik *wt ma normalny adres (0x22ff38) i wyświetla się prawidłowa wartość którą tam wpisałem (2), natomiast wsk do typu char pokazuje wartość którą przypisałem tą zmiennej dwukrotnie: po wywołaniu wartości przez wskaźnik oraz po wywołaniu miejsca w pamięci różniej pokazuje się wartość 'a'.
o co chodzi?