53. C++ 간접 참조

53. C++ 간접 참조 (*p)

1. 개요

1.1 문서 개요

이 문서는 C++에서 포인터를 통해 변수에 접근하는 연산자인 간접 참조(*p)에 대해 설명합니다. 간접 참조 연산자는 포인터가 가리키는 실제 데이터를 읽거나 수정할 수 있게 하며, 포인터 연산의 핵심 메커니즘을 구성합니다.

2. 내용

2.1 간접 참조 연산자 *의 의미

2.1.1 기본 예시

int x = 5;
int* p = &x;
*p = 10;  // x의 값을 10으로 변경

위 코드에서 *pp가 가리키는 메모리 주소에 저장된 값을 의미하며, 이를 통해 x의 값을 직접 변경할 수 있습니다.

2.1.2 읽기 및 쓰기 가능성

간접 참조는 읽기와 쓰기 모두 가능하며, 포인터가 유효한 주소를 가리키는 경우에만 사용해야 합니다.

int value = *p;  // 값 읽기
*p = 20;         // 값 쓰기

2.2 함수 내에서의 포인터 사용

간접 참조는 함수 인자로 포인터를 전달받았을 때 원본 값을 수정하는 데 사용됩니다.

void setZero(int* ptr) {
    *ptr = 0;
}

이처럼 *ptr을 통해 함수 내부에서 외부 변수의 값을 수정할 수 있습니다.

2.3 중첩 포인터에서의 간접 참조

int x = 5;
int* p = &x;
int** pp = &p;
**pp = 7;  // x를 7로 변경

**pppp가 가리키는 p, 그 p가 가리키는 x에 접근하는 형태로, 여러 단계의 간접 참조도 지원됩니다.

3. 마무리

간접 참조 연산자 *는 포인터가 가리키는 실제 메모리 위치에 접근하거나 값을 변경하는 데 사용됩니다. 함수, 포인터 연산, 다중 포인터 등 다양한 맥락에서 활용되며, 유효한 포인터에 대해서만 사용해야 합니다.

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

error: Content is protected !!
위로 스크롤