C
포인터 심화
지창준
2023. 12. 14. 23:15
시작전 포인터란
포인터는 메모리 주소를 저장하는 변수로, 변수의 주소를 포인터에 할당하여 메모리에 접근할 수 있다.
(다른 변수와 달리 다른 변수의 주소값을 변수로 가진다)
이중 포인터
포인터를 가리키는 포인터로 포인터 변수의 주소값을 가진다.
int i = 10;
int* p = &i;
int** p2 = &p;
-> 결론적으로 **p2 = *p = i 가 된다
**p2 = 10
2차원 자료를 처리할 때 사용한다
데이터를 전부 넘겨주기 보다 그 데이터를 가진 주소값을 념겨주면 속도와, 리소스 사용면에서 유리하다
포인터를 함수의 매개변수로 사용시 다른 함수에 있는 포인터 변수에 저장된 메모리 주소를 제어할 수 있고 이를 통해 함수와 함수 사이에서 데이터를 원할하게 관리할 수 있다
함수 포인터
함수를 가리키는 포인터로 함수의 메모리 주소값을 가진다.
(함수는 메모리 상의 특정 위치에 존재)
(단, 메모리를 할당하거나 회수하는것은 불가능)
콜백 매커니즘을 구현하거나 다른 함수를 동적으로 선택할 때 사용