int *wsk_int;
double *wsk_double;
wsk_double = (double *)wsk_int;
rozumiem że kompilator traktuje wskaźnik wsk_int jako wskaźnik na obiekt double i do wsk_double przypisuje adres do pokazywania na to samo co wsk_int.
Nie wiem co się dzieje w chwili przypisania do *wsk_double = 4.43 - gdzie są rezerwowane miejsca w pamięci na zapis takiej liczby z przecinkiem skoro to na co wskazuje *wsk_int to tylko obiekt 4 bajtowy?
int a=2;
int *wsk_int = &a;
double *wsk_double;
wsk_double = (double *)wsk_int;
*wsk_double = 3.14;