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

조회수 2950회

제 컴퓨터에서

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++ 표준으로 정해진 건 아니기 때문에 컴퓨터에서 돌려 보기 전에는 포인터의 크기를 정확히 알아낼 수 있는 방법은 없습니다

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)