pointer의 크기는 항상 4인 가요?

제 컴퓨터에서

sizeof(char*) = 4 sizeof(int*) = 4 sizeof(long long*) = 4

던데 그럼 포인터 크기는 무조건 4인 가요?

1답변

  • 좋아요

    0

    싫어요
    채택취소하기

    sizeof(char) == 1 외에는 자료형의 크기는 정해진 것이 없습니다.

    굳이 sizeof(char*) == sizeof(int*)라는 보장이 없다는 의미입니다.

    보통 16비트 시스템에서 포인터의 크기는 2, 32비트 시스템에서는 4, 64비트 시스템에서는 8입니다.

    하지만 이게 C/C++ 표준으로 정해진 건 아니기 때문에 컴퓨터에서 돌려 보기 전에는 포인터의 크기를 정확히 알아낼 수 있는 방법은 없습니다

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.