heenam
chapter 18 다차원 배열과 포인터의 관계 본문
18-1 2차원 배열이름의 포인터 형
2차원 배열이름이 가리키는 것들은?
int arr2d[2][3];
arr2d를 대상으로 sizeof 연산을 하는 경우 배열 전체의 크기를 반환 즉 값은 36가 나옴
arr2d[0]를 대한으로 sizeof 연산을 하는 경우 각 행의 크기를 반환 즉 값은 12가 나옴
따라서 arr2d 와 arr2[0]은 같지 않음!!
배열이름 기반의 포인터: 배열이름에 1을 더한 결과는?
행과 열이 다르면 포인터 형 값이 달라짐!
ex) int arr1[3][2];
int arr2[2][3];
arr1+1의 값과 arr2+1의 값은 다름!!
최종결론! 2차원 배열이름의 포인터 형
대상이 int 형 변수이면서 포인터 연산시 sizeof(int)*4의 크기 단위로 증가 및 감소하는 포인터 변수 ptr을 표현하려면
int (*ptr) [4];
18-2 2차원 배열이름과 특성과 주의사항
주의! '배열 포인터'와 '포인터 배열'을 혼돈하지 말자.
int *whoA[4]; // int형 포인터 변수로 이뤄진 int형 포인터 배열
int *(whoB)[4]; //가로길이가 4인 int형 2차원 배열을 가리키는 용도의 포인터 변수
'[Programming Language] > C' 카테고리의 다른 글
chapter 21 문자와 문자열 관련 함수 (0) | 2020.04.02 |
---|---|
chapter 19 함수 포인터와 void 포인터 (0) | 2020.03.18 |
chapter 17 포인터의 포인터 (0) | 2020.03.14 |
chapter 16 다차원 배열 (0) | 2020.03.14 |
chapter14 포인터와 함수에 대한 이해 (0) | 2020.02.28 |