Размер 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?

Немного запутался здесь,

так что заранее спасибо.

Ответы на вопрос(0)

Ваш ответ на вопрос