다음과 같은 2차원 배열 선언 소스코드가 있다고 치자
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
|
#include <stdio.h>
int main(void)
{
int arr[3][5]= {
{1,2,3,4,5},
{6,7,8,9,10},
{11,12,13,14,15}
};
int i = 0, j = 0;
int (*p)[5] = &arr[0]; //arr
for(i = 0 ; i < 3; i++)
{
for( j = 0 ; j < 5; j++)
{
printf("%2d ", p[i][j]);
}
printf("\n");
}
return 0;
}
|
행렬로 표현하면
사실 메모리상에는
요딴걸 왜 살펴보고냐고?
int (*p)[5] 는 왜 있냐고?
사실 요 배열에 대한 포인터는 2차원 배열을 쓰기 위한 밑거름이다.
추후 관련 예제를 코딩해보며 살펴보자!
'C > C' 카테고리의 다른 글
파일 입출력 fopen (0) | 2019.11.10 |
---|---|
Memory Map 이해하기(Feat.성적처리 프로그램 소스) (0) | 2019.10.02 |
배열 초기화 사소한 Tip (0) | 2019.09.26 |
성적 처리 프로그램 (분석->설계->구현) (0) | 2019.09.20 |
선택정렬 구현해보기 (feat. Flow Chart) (0) | 2019.09.17 |