기초

int arr[2][3]의 대해서

알쿠미 2015. 12. 20. 19:09



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
    printf("%x %d\n", narr, sizeof(narr));
    // 배열명으로 가장 첫번째가 저장된 곳 배열의 전체를 가리키고 있는값
    // 출력 값 : 주소값 24(3*2*4)
    printf("%x %d\n"&narr, sizeof(&narr));
    //narr 이 가리키고 있는 주소값이고 위에 값이랑 같다. 그리고 가리키고있는 값이 주소값 따라서
    // 출력 값 : 주소값 4(가리키는 값이 아니라 그냥 주소값(포인터 크기)
    printf("%x %d\n", narr[0], sizeof(narr[0]));
    //narr[0]은 행을 대표하는 주소 값은 narr과 같다.
    // 출력 값 : 주소값(narr과 같다) 12(행을 대표하기 때문에(3*4))
    printf("%x %d\n"&narr[0], sizeof(&narr[0]));
    //2번의 결과와 같다.
    printf("%x %d\n", narr[1], sizeof(narr[1]));
    printf("%x %d\n", narr[2], sizeof(narr[2]));
    // 결과 값 : 주소값 12(행을 대표하기때문에)
 
    printf("%x %d\n"&narr[1], sizeof(&narr[1]));
    printf("%x %d\n"&narr[2], sizeof(&narr[2]));
    // 결과 값 : 주소값 4(주소크기)    
 
    printf("%x %d\n", narr[0][0], sizeof(narr[0][0]));
    printf("%x %d\n", narr[0][1], sizeof(narr[0][1]));
    //쓰레기값  4(가리키는 변수크기)
 
    printf("%x %d\n"&narr[0][0], sizeof(&narr[0][0]));
    printf("%x %d\n"&narr[0][1], sizeof(&narr[0][1]));
    //주소값  4(주소크기)
cs