Почему мой размер указателя составляет 4 байта на 64-битном компьютере? - PullRequest
0 голосов
/ 11 октября 2018

Компилятор говорит, что мой указатель составляет 4 байта, но мой компьютер - 64-битная ОС.не должно ли это сказать, что это 8 байтов вместо 4 байтов?что вызывает эту проблему?IDE делает это?возможно, компилятор может быть?

int *p;
printf("%d", sizeof(p));


compiler says: 4

1 Ответ

0 голосов
/ 11 октября 2018

Ваш компилятор и опции компилятора определяют, какова фактическая цель.Операционная система не имеет большого значения, так как вы можете скомпилировать 64-битный код на 32-битной машине (вы не сможете его выполнить) и 32-битный код на 64-битной машине.

Если размер указателя равен 4 байта, это означает, что вы скомпилировали 32-битный код.На многих 64 ОС вы можете выполнить 32-битный код.

...