Размер int и размер указателя int на 64-битной машине
Мне было просто интересно, как я могу узнать, является ли мой ноутбук 64 или 32-битной машиной. (это 64).
Итак, я подумал о печати следующего:
int main()
{
printf("%d",sizeof(int));
}
и результат был 4, что казалось странным (так как это 64-битная машина)
Но когда я напечатал это:
int main()
{
printf("%d",sizeof(int*));
}
результат был 8, что имело больше смысла.
Вопрос в том:
Поскольку я использую 64-битную машину, не должен использовать примитивный тип, такой как int, 8 байт
(64 бита) и таким размером int должно быть 8? Почему это не так?
И почему размер int * равен 8?
Немного запутался здесь,
так что заранее спасибо.