Rozmiar int i sizeof int wskaźnik na komputerze 64-bitowym
Zastanawiałem się tylko, skąd mam wiedzieć, czy mój laptop jest maszyną 64-bitową czy 32-bitową. (to 64).
Pomyślałem więc o wydrukowaniu następujących:
int main()
{
printf("%d",sizeof(int));
}
wynik był 4, co wydawało się dziwne (ponieważ jest to maszyna 64-bitowa)
Ale kiedy to wydrukowałem:
int main()
{
printf("%d",sizeof(int*));
}
wynik wynosił 8, co miało większy sens.
Pytanie brzmi:
Ponieważ używam maszyny 64-bitowej, nie powinienem używać typu pierwotnego, takiego jak int, 8 bajtów
(64 bit) i przez to rozmiar int powinien wynosić 8? Dlaczego tak nie jest?
A dlaczego rozmiar int * wynosi 8?
Trochę zdezorientowany,
więc z góry dzięki.