[c++] 포인터의 개념과 사용법

개요

프로그래밍에서 포인터는 메모리 주소를 저장하고 그 주소에 접근하기 위한 중요한 기능을 합니다. C++에서 포인터는 다른 변수의 주소를 저장하여 해당 변수에 간접적으로 접근하도록 해줍니다. 이 글에서는 C++에서 포인터를 어떻게 선언하고 사용하는지에 대해 알아보겠습니다.

포인터의 개념

포인터는 메모리 주소를 저장하는 변수입니다. 즉, 다른 변수의 주소를 갖고 있는 변수로, 간접 참조를 통해 해당 변수에 접근할 수 있습니다.

포인터 선언 및 초기화

포인터를 선언하는 방법은 다음과 같습니다.

int *ptr; // 정수형 포인터 선언
double *ptr2; // double형 포인터 선언

포인터를 NULL로 초기화할 수 있습니다.

int *ptr = nullptr; // nullptr로 포인터 초기화

포인터 사용법

주소 연산자(&)와 간접 참조 연산자(*)

int num = 10;
int *ptr = # // num의 주소를 ptr에 저장
*ptr = 20; // ptr을 통해 num에 접근하여 값을 변경

동적 메모리 할당

동적으로 메모리를 할당하려면 new 연산자를 사용합니다.

int *ptr = new int; // 정수형 변수를 위한 메모리 공간 동적 할당
*ptr = 5; // 값을 할당
delete ptr; // 메모리 해제

배열과 포인터

배열의 이름은 배열의 첫 번째 요소에 대한 포인터로 사용할 수 있습니다.

int arr[5] = {1, 2, 3, 4, 5};
int *ptr = arr; // 배열의 첫 번째 요소에 대한 포인터로 활용
cout << *ptr; // 1 출력

결론

포인터는 C++에서 강력하고 유연한 기능을 제공하며, 메모리와 연관된 작업을 수행할 때 매우 유용합니다. 올바르게 사용하면 프로그램의 효율성과 유연성을 높일 수 있습니다.

이처럼 포인터는 C++ 프로그래밍에서 중요한 역할을 하며, 올바르게 활용하기 위해 주의깊은 학습과 연습이 필요합니다.

참고 자료