본문 바로가기
Develop/Cpp

[Cpp] 포인터 기본

by Tarra 2022. 6. 20.

 

 

 

포인터란?

포인터는 어떠한 값을 저장하는 게 아닌 메모리 주소를 저장하는 변수이다.

 

쉽게 말해, 각각의 변수는 저마다의 메모리 주소값을 가지고 있고, 이를 가리키는 것"포인터"이다.

 

 

이 포인터는 3가지를 알고가면 좋다.

 

1) 포인터는 주소를 저장하는 변수이다.

2) 주소를 저장하고 있을 때, 이를 "가리킨다" 라고 표현한다.

3) *을 붙이면 이는 가리킨 곳의 값을 나타낸다. (원격으로 접근이 가능)

 

 

 간단한 예제 몇가지를 통해 포인터를 이해해보자.

 


 

 

다음과 같은 변수와 값이 있다.

 

char t에 'A'가 할당되어 있고, int r에는 15가 할당되어 있다.

 

이를 포인터 변수인 g와 v에 각각 할당하려고 하면 코드로는 다음과 같이 나타낼 수 있다.

 

 

 

이 포인터 변수 *g, *v는 각각 t와 r을 "가리키는 것"이기 때문에,

 

cout을 통해 해당 변수를 출력하면 그 값인 'A'와 15가 나오게 된다.

 

이처럼 포인터 변수는 해당 하는 값의 주소를 가르켜 콕 집어내는 역할을 한다.

 


 

함수 포인터

함수 또한 포인터로 지정이 가능하고, 이와 같은 방법으로 지정할 시,

 

손쉽게 꺼내 쓸 수 있다는 장점이 있다.

 

 

해당 포인터는 언제든지 수정이 가능하고, 손쉽게 가져다 쓸 수 있다는 장점이 있다.

 

 

'Develop > Cpp' 카테고리의 다른 글

[Cpp] Direct 배열  (0) 2022.06.22
[Cpp] 문자열 함수 (cstring)  (0) 2022.06.22
[Cpp] STL (스택, 큐, 우선순위 큐)  (0) 2022.06.22
[Cpp] 구조체  (0) 2022.06.21
[Cpp] 함수 호출 방식 (Call by value, Call by reference)  (0) 2022.06.20