Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 민동현의토요명화
- 자바
- SWT
- 김장훈의who
- 러시아
- CDMA
- 이지형
- VoIP
- 퀄컴
- 모던음악만만세
- HSDPA
- 유희열의라디오천국
- 라디오
- 한국의 기획자들
- ETF
- 민동현
- itmusic
- 그녀가말했다
- USIM
- 김장훈
- 사요
- brew
- 위피
- "명탐정 코난"
- Java
- EV-DO Rev. B
- Wibro
- 페이스북
- 공정위
- 차트쇼쇼쇼
Archives
- Today
- Total
04-18 07:24
zyint's blog
배열을 가리키는 포인터 본문
만일 int arr[2][4]라는 배열을 포인터로 가리키려면
int (*pArr)[4] 처럼 포인터를 선언하면 됩니다.
int arr[2][4] = { {1,2,3,4}, {5,6,7,8} };
int (*pArr)[4] = arr;
*pArr는 포인터로 int와 [4]는 포인터의 타입을 나타냅니다.
즉, int형 변수로 4칸씩 건너 뛴다는 것을 나타냅니다.
왼쪽 그림과 같이 int arr[2][4]에서 arr은 배열의 시작부분을 가리키는 배열의 이름이며,
arr+1은 arr[1]을 가리킵니다.
arr의 배열이 arr[2][4]이므로, arr에서 1을 더한 arr+1는 4칸을 건너 뛰게 됩니다.
포인터 배열과 배열 포인터의 차이점
- 포인터 배열 int* pArr[4]: 4개의 int* 값을 가지고 있어서 4 개의 int 값을 가리키는 포인터 배열
- 배열 포인터 int (*pArr)[4]: 크기가 int arr[?][4]인 배열을 가리키는 배열 포인터
↑ int* pArr[4]와 int (*pArr)[4]의 비교
참고자료
열혈강의 C 프로그래밍, 18장
이 글은 스프링노트에서 작성되었습니다.
Comments