프로그래밍 공부
작성일
2023. 3. 22. 15:45
작성자
WDmil
728x90

더블포인터에 대해 알아보자.

더블포인터는 포인터를 가르키는 포인터를 의미한다.

포인터를 가르키는 포인터는 **을 붙여서 표현한다. 간단하게 포인터의 포인터이니까 더블포인터  포인터 두개 라고 이해하면 기억이 편하다.

 

예시를 살펴보자.

포인터를 선언하는 방법


포인터를 사용해서 데이터의 변환을 실험해보자

간단하게 swap코드를 작성하여 테스트를 진행한다.

 

내부 데이터가 변환된다는 가정 하에 함수 내부에서 외부변수를 받아와서 변환해주어도,함수가 끝나는 순간

할당된 메모리는 전부 반환되고 리턴값을 제외한 모든 데이터가 사라지게 된다. 이것을 막기 위해 포인터를 사용하여

함수 연산을 진행할 수 있다. 예시를 살펴보자.

주소접근 변환방법과 일반 변수를 사용해서 변환해보자.


이중포인터 접근방법을 통해서 데이터가 아닌 주소만 바꾸어 보자.

포인터를 사용하면 주소만 변경함으로 써 데이터가 바뀐것 같은 효과를 보여줄 수 있다. 주소를 출력해보자.

이중 포인터를 사용해서 데이터연산을 할 수 있다. 이러면 데이터가 변하는게 아니라 포인터의 주소값만 바뀌는 걸 볼 수 있다.
출력 결과

 

728x90