1. [C 언어] 포인터의 배열에의 적용 : 배열 포인터, 포인터 배열 비교
ㅇ 배열 포인터 (Pointer to Array)
- 의미 : 배열을 가리키는 포인터. 즉, 배열의 시작주소값을 저장하는 포인터
- 배열 포인터의 선언 : (괄호 있음)
. (형식) 자료형 (*포인터이름)[배열크기]
- 배열 포인터의 선언 및 초기화 例)
. char arr[2][3] = {"abc","def"}; char (*arrPtr)[3] = arr;
- 배열을 포인터로 가리킬 때 (포인터에 대입할 때)
. arrPtr = arr; 또는 arrPtr = &arr[0];
. (사실상, 배열이란, 배열 자신의 첫 번째 원소를 가리키는 포인터 임)
ㅇ 포인터 배열 (Array of Pointer)
- 의미 : 포인터를 여럿 담은 배열. 즉, 주소값들을 저장하는 배열
- 포인터 배열의 선언 : (괄호 없음)
. (형식) 자료형 *포인터이름[배열크기]
- 포인터 배열의 선언 및 초기화 例)
. char *charPtr[] = {"Alan","Frank","Mary","John","Lisa"};
. int num1,num2; int *numPtr[] = {&num1,&num2};
- 포인터 배열의 용도
. 배열 포인터는 함수 선언을 해서 2차원 배열의 데이터를 파라미터로 받을때 많이 사용
※ [참고] 배열 요소에의 접근 : (인덱스에 의한 접근 가능)
- arr[i] 또는 *(arr + i) 또는 ptr[i] 또는 *(ptr + i)