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.

questionAnswers(5)

yourAnswerToTheQuestion