C

포인터 심화

지창준 2023. 12. 14. 23:15

시작전 포인터란

포인터는 메모리 주소를 저장하는 변수로, 변수의 주소를 포인터에 할당하여 메모리에 접근할 수 있다.

(다른 변수와 달리 다른 변수의 주소값을 변수로 가진다)

 

 

이중 포인터

포인터를 가리키는 포인터로 포인터 변수의 주소값을 가진다.

int i = 10;

int* p = &i;

int** p2 = &p;

-> 결론적으로 **p2 = *p = i 가 된다

**p2 = 10

 

2차원 자료를 처리할 때 사용한다

 

데이터를 전부 넘겨주기 보다 그 데이터를 가진 주소값을 념겨주면 속도와, 리소스 사용면에서 유리하다

 

포인터를 함수의 매개변수로 사용시 다른 함수에 있는 포인터 변수에 저장된 메모리 주소를 제어할 수 있고 이를 통해 함수와 함수 사이에서 데이터를 원할하게 관리할 수 있다

 

 

함수 포인터

함수를 가리키는 포인터로 함수의 메모리 주소값을 가진다.

(함수는 메모리 상의 특정 위치에 존재)

(단, 메모리를 할당하거나 회수하는것은 불가능)

 

콜백 매커니즘을 구현하거나 다른 함수를 동적으로 선택할 때 사용