반응형
다양한 2차원 배열과 pointer의 관계연산이 어떻게 진행되는지 알아보고자 한다.
int | An | *An | **An | ***An |
A1[3][5] | 60byte | 20 byte | 4 byte | impossible |
*A2[3][5] | 120 byte | 40 byte | 8 byte | 4 byte |
(*A3)[3][5] | 8 byte | 60 byte | 20 byte | 4 byte |
*(A4[3][5]) | 120 byte | 40 byte | 8 byte | 4 byte |
(*A5[3])[5] | 24 byte | 8 byte | 20 byte | 4 byte |
A1 우리가 생각하는 일반적인 2차원 배열
A2,A4 포인터의 2차원 배열 (2차원 배열 각 원소가 포인터)
A3 2차원 배열의 포인터 int (*A3)[3][5] = A1 이라고 해도 가능하다.
A5 1차원 배열[5]의 포인터들의 배열[3]
반응형
'프로그래밍 구조' 카테고리의 다른 글
메모리 영역 (Rodata, bss등) (0) | 2021.11.28 |
---|---|
C언어 전처리기 (0) | 2021.10.08 |
fgets 사용법, 주의점 (0) | 2021.10.06 |
리눅스 명령어 정리(주요) (0) | 2021.09.22 |
C언어 전역,지역변수 static, extern, auto 정리 (0) | 2021.09.12 |