이것이 C언어다(서현우) 14단원 요약
- 최초 등록일
- 2020.11.09
- 최종 저작일
- 2020.03
- 7페이지/ MS 워드
- 가격 2,000원
소개글
"이것이 C언어다(서현우) 14단원 요약"에 대한 내용입니다.
목차
14장. 다차원 배열과 포인터 배열
14.1. 2차원 배열
14.2. 포인터 배열
본문내용
14.2.2. 2차원 배열처럼 활용하는 포인터 배열
- 포인터 배열은 첨자를 하나 사용하는 1차원 배열임. but 2차원 배열로 활용하는 방법도 있음
- 포인터 배열이 1차원 배열을 연결하면 2차원 배열처럼 쓸 수 있음
ex) int ary1[4] = {1, 2, 3, 4};
int ary2[4] = {11, 12, 13, 14};
int ary3[4] = {21, 22, 23, 24};
int *pary[3] = {ary1, ary2, ary3};
- 위의 3줄은 모두 배열 요소가 4개인 int형 배열임. 이들의 배열명은 첫 번째 요소의 주소이므로 int형을 가리키는 포인터에 저장할 수 있음
➜ 배열 요소가 3개인 포인터 배열을 선언하면 각 배열 요소에 3개의 배열명을 모두 저장할 수 있음
- 초기화가 끝나면 다음 그림과 같이 포인터 배열의 요소가 각각 3개의 1차원 배열을 연결하는 상태가 됨
(각 저장 공간의 주소값은 임의로 가정)
- 포인터 배열의 배열명 pary를 사용ㅎ하여 ary3 배열의 세 번째 저장 공간에 있는 23을 출력해보자
먼저 pary 배열의 3번째 요소가 ary3 배열을 연결하고 있으므로 ➜ pary[2] // pary의 3번째 배열 요소
pary[2]는 배열명을 저장한 포인터이므로 ary3와 같이 배열명으로 사용할 수 있음 ➜ pary[2]를 배열명처럼 사용하여 ary3 배열의 3번째 요소는 pary[2][2] // pary[2]가 연결하고 있는 배열의 3번째 요소
- 결국, 포인터 배열 pary는 3개의 1차원 배열을 요소로 갖는 2차원 배열의 배열명처럼 사용되고, 각 배열 요소 pary[0], pary[1], pary[2]는 부분배열명의 기능을 하게 됨
- 이렇게 포인터 배열을 2차원 배열처럼 쓸 수 있는 이유는 무엇일까?
➜ 포인터 배열은 포인터 연산을 통해 2차원 배열처럼 쓸 수 있음
- 포인터는 자신이 가리키는 변수의 형태를 알고 있으므로 정수 연산을 통해 원하는 위치를 찾아 갈 수 있음
참고 자료
없음