"C언어 포인터의 크기"의 두 판 사이의 차이

21번째 줄: 21번째 줄:
}
}
</source>
</source>
64비트 시스템이기 때문에 char와 int 타입의 포인터 사이즈가 각각 8바이트(64비트)임
:→64비트 시스템이기 때문에 char와 int 타입의 포인터 사이즈가 각각 8바이트(64비트)임


==같이 보기==
==같이 보기==
*[[포인터]]
*[[포인터]]

2017년 3월 31일 (금) 20:22 판

1 개념

Size Of Pointer
포인터의 크기
  • 32비트 시스템의 포인터 크기: 4바이트
  • 64비트 시스템의 포인터 크기: 8바이트

2 포인터 크기 원리

포인터는 메모리 위치를 가리키기 위한 주소를 담는 변수다. 만약 32비트 시스템이라면 CPU의 메모리 접근을 위한 주소가 32비트 만큼 가능하기 때문에 포인터도 32비트(4바이트)가 된다. 반면, 64비트 시스템이라면 64비트(8바이트) 만큼 가능하기 때문에 포인터도 64비트(8바이트)가 된다.

3 예시(64비트 시스템)

#include <stdio.h>

void main()
{
    char *pc;
    int *pi;

    printf("%ld", sizeof(pc)); // 8
    printf("%ld", sizeof(pi)); // 8
}
→64비트 시스템이기 때문에 char와 int 타입의 포인터 사이즈가 각각 8바이트(64비트)임

4 같이 보기

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}