728x90
포인터
배열
배열을 가리키는 포인터 : int *parr=arr / int (*parr)[3]=arr
parr[1] = arr[1]
(*parr)[1] = arr[1]
2차원 배열
arr = 배열의 첫번째 인덱스의 주소값
arr[0] = arr[0][0]의 주소값
sizeof(arr[0]) : 행의 크기
—————————————————————1차원 배열과 같은 맥락
arr[x][y]의 주소값
원래 배열이 arr[a][b]라고 하면, arr[x][y]의 주소값은 arr + 4bx + 4y
2차원 배열을 가리키는 포인터를 통해서 원소들에 정확히 접근하기 위해서
1. 가리키는 원소의 크기(4)
2. b의 값
위 두 정보가 포인터의 타입에 명시되어 있어야 한다.
따라서 2차원 배열을 가리키는 포인터의 생김새는
int (*parr)[열의 갯수]; /*포인터가 가리키는 배열에 대한 최소한의 정보를 담고 있는 것이다. int : 원소의 크기 4, 열의 갯수 : b의 값*/
parr=arr
'프로그래밍 > C언어' 카테고리의 다른 글
11. c언어 함수 (0) | 2023.03.20 |
---|---|
10. c언어 문자열, 문자열입력, 문자열배열, 리터럴 (0) | 2023.03.20 |
8-3. 배열을 가리키는 포인터(배열포인터) (0) | 2023.02.16 |
8-2. c언어 포인터의 덧셈과 뺄셈 (0) | 2023.02.16 |
8-1. c언어 포인터와 상수 (0) | 2023.01.31 |
댓글