[c언어] 포인터의 초기화
포인터는 다른 변수의 주소를 저장하는 변수입니다. 포인터를 사용하여 메모리 주소를 직접 조작할 수 있으므로 초기화가 매우 중요합니다.
1. 포인터 변수 선언
포인터 변수를 선언할 때는 별표(*
)를 사용합니다. 또한 포인터 변수는 선언 후에 반드시 초기화되어야 합니다.
int* ptr; // 선언만 한 경우, 쓰레기 값으로 초기화됨
int* ptr = NULL; // NULL로 명시적으로 초기화
2. 다른 변수의 주소로 초기화
포인터 변수는 다른 변수의 주소로 초기화할 수 있습니다. 예를 들어, &
연산자를 사용하여 다른 변수의 주소를 얻어와서 초기화할 수 있습니다.
int var = 10;
int* ptr = &var; // var의 주소로 ptr을 초기화
3. 동적 메모리 할당으로 초기화
malloc
함수를 사용하여 동적으로 메모리를 할당하고, 그 주소를 포인터에 저장할 수 있습니다.
int* ptr = (int*)malloc(sizeof(int)); // int 하나의 크기만큼 메모리 할당 후 ptr에 주소 저장
결론
포인터 변수를 다른 변수의 주소로 초기화하거나 동적 메모리를 할당하여 초기화하는 등 여러 가지 방법으로 포인터를 초기화할 수 있습니다. 초기화하지 않은 포인터를 사용하면 예기치 않은 동작이 발생할 수 있으므로 항상 초기화에 신경써야 합니다.
관련 용어:
- 포인터(Pointer)
- 초기화(Initialization)
- 동적 메모리 할당(Dynamic Memory Allocation)