개인노트
[C언어] 2차원배열의 포인터 본문
1차원 배열의 이름은 포인터가 될 수 있지만 2차원 배열의 이름은 포인터가 될 수 없다.
1차원 배열은 (배열의 이름 = 배열의첫번째요소 [0]) 였지만 밑의 그림을 보면 크기가 다른 것을 알 수 있다.
2차원 배열 arr이름의 크기는 배열 전체의 크기인 21이, 배열의 첫번째요소는 1행에 해당하는 크기가 나왔다.
이로 인해 1차원 배열과 달리 2차원 배열의 이름은 첫번째 요소와 서로 다르다는 것을 알 수 있다.
#include <stdio.h> #include "stdlib.h" int main(void) { int arr[2][3]; printf("%d\n", arr); printf("%d\n", arr[0]); printf("%d\n", &arr[0][0]); printf("\n"); printf("%d\n", arr[1]); printf("%d\n", &arr[1][0]); printf("\n"); printf("%d\n", arr[2]); printf("%d\n", &arr[2][0]); printf("\n"); printf("sizeof(arr) : %d\n", sizeof(arr)); printf("sizeof(arr[0]) : %d\n", sizeof(arr[0])); printf("sizeof(arr[1]) : %d\n", sizeof(arr[1])); printf("sizeof(arr[2]) : %d\n", sizeof(arr[2])); system("pause"); } |
'C > 문법' 카테고리의 다른 글
[C언어] 2차원 배열의 포인터변수 선언 (0) | 2017.07.05 |
---|---|
[C언어] 2차원 배열의 포인터 연산(증가감소) (0) | 2017.07.05 |
[C언어] 더블포인터 (0) | 2017.07.05 |
[C언어] 2차원 배열 선언과 초기화 (0) | 2017.07.04 |
[C언어] 다차원 배열 (0) | 2017.07.04 |
Comments