[c언어] 포인터와 포인터 상수

프로그래밍에서 포인터(pointer)는 변수의 메모리 주소를 저장하는 변수입니다. 이 포인터 변수는 메모리에 할당된 변수의 주소를 가지고 있어서 해당 변수에 직접적으로 접근할 수 있습니다.

포인터 변수 선언 및 초기화

포인터는 아래와 같이 선언합니다.

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

값이 할당된 변수의 주소를 포인터에게 줄 수 있습니다. 이를 초기화라고 합니다.

int num = 5;
ptr = # // ptr에 num의 주소를 저장

포인터 상수

포인터 상수(pointer constant)는 포인터가 가리키는 값을 변경할 수 없도록 하는 키워드인 const와 함께 사용됩니다.

int num = 10;
const int *ptr = # // ptr이 가리키는 값을 변경할 수 없음

const 포인터

포인터를 상수화하는 것뿐만 아니라, 포인터 자체를 상수화할 수도 있습니다.

int num = 20;
int *const ptr = # // ptr의 값을 변경할 수 없음

이러한 포인터와 포인터 상수는 프로그램에서 메모리 관리와 자료구조를 위해 중요한 역할을 합니다. 올바른 사용법을 숙지하고 있으면 프로그램 오류를 방지하고 효율적인 코드를 작성할 수 있습니다.

참고 문헌: GeeksforGeeks - Pointers in C and C++