[c언어] 포인터와 데이터 타입의 크기

프로그래밍을 하다 보면 포인터와 데이터 타입의 크기에 대해 이해할 필요가 있습니다. 이번 글에서는 C 언어를 기준으로 포인터와 데이터 타입의 크기에 대해 알아보겠습니다.

포인터란?

포인터는 메모리 주소를 저장하는 변수입니다. 다시 말해, 변수나 배열, 구조체 등의 주소를 저장하는 변수라고 할 수 있습니다.

int* ptr;  // int형 포인터 변수 선언

위의 예시에서 ptrint형 데이터를 가리키는 포인터 변수입니다.

데이터 타입의 크기

C 언어에서 데이터 타입의 크기는 시스템이나 컴파일러에 따라 다를 수 있습니다. 하지만 일반적으로 사용되는 데이터 타입의 크기는 다음과 같습니다.

포인터의 크기는 시스템의 아키텍처에 따라 다릅니다. 대부분의 32비트 시스템에서 포인터는 4바이트이고, 64비트 시스템에서는 8바이트입니다.

예시

#include <stdio.h>

int main() {
    int* ptr;
    printf("Size of int: %d bytes\n", sizeof(int));
    printf("Size of pointer: %d bytes\n", sizeof(ptr));
    return 0;
}

위의 예시 코드를 실행하면, int의 크기와 포인터의 크기를 확인할 수 있습니다.

포인터와 데이터 타입의 크기에 대한 이해는 메모리 관리와 시스템 아키텍처에 대한 이해를 높일 수 있습니다. 프로그래밍을 하면서 포인터와 데이터 타입의 크기에 대해 항상 유의해야 합니다.