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


제 컴퓨터에서

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

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

  • 2016년 01월 24일에 작성됨

조회수 207


1 답변


좋아요
0
싫어요
채택취소하기

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

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

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

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

  • 2016년 01월 24일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close