포인터의 종류와 의미
포인터, int *ptr; // ★★★★★
int 형 메모리 주소를 저장하는 변수선언
이중 포인터, int **ptr; // ★★
int *형 메모리 주소를 저장하는 변수선언
배열 포인터, int (*ptr)[3]; // ?
열의 개수가 3개인 int형 이차원 배열의 메모리 주소를 저장하는 변수선언
열의 개수가 고정
함수 포인터, int (*function)(int) // ★★★
함수의 메모리 주소를 저장하는 변수선언
void 포인터, void *ptr; // ★★★★
모든 데이터형의 주소를 저장하는 변수선언
사용할 때는 반드시 **형 변환(type casting)**을 해야한다.
포인터 배열, int *ptr[3]; // ★★★★
3개의 열을 가진 배열의 메모리 주소를 저장하는 배열선언