±âº» ±¸Á¶1 ptr ++ ; ¹æ½ÄÀ¸·Î arr1[2] +1; ¹æ½ÄÀ¸·Î int arr1[1] +1 = 4¾¿ Áõ°¡ double arr2[1] +1 = 8¾¿ Áõ°¡ //------------------------1--------------------------- int main(void) { int arr1[3][2]; int arr2[2][3]; /* int arr1[6][4]; ¡Ú intÇü Æ÷ÀÎÅÍÀÇ °¡·Î¿­ÀÌ °°À¸¸é ÀÏÄ¡ÇÑ´Ù int arr2[8][4]; ¡Ú ¼¼·Î±æÀÌ´Â Áß¿äÇÏÁö ¾ÊÀ½ ¡é int arr3[3][4] = int (*ptr)[4] ¡Ú Æ÷ÀÎÅÍ Çü int arr4[3][4] = int (*ptr)[4] ¡Ú ¼¼·Î´Â ¹«½ÃÇÏ°í °¡·Î¸¸ ¼±¾ð */ printf("arr1 : %p \n", arr1 ); printf("arr1 + 1 : %p \n", arr1+1); // ¡Ú4¾¿ Áõ°¡ printf("arr1 + 2 : %p \n\n", arr1+2); // ¡Ú4¾¿ Áõ°¡ printf("arr2 : %p \n", arr2); printf("arr2 + 1 : %p \n", arr2+1); return 0; }
Ãâ·Â °á°ú
arr1     : 0021F88b
arr1 + 1 : 0021F894
arr1 + 2 : 0021F89C

arr2     : 0021F88C 
arr2 + 1 : 0021F894
//--------------------------------------------------- int main(void) { // ¡Ú int arr1[10] 1Â÷¿ø ¹è¿­ Æ÷ÀÎÅÍ // ¡Ú int* arr2[10] 1Â÷¿ø ¹è¿­ ´õºí Æ÷ÀÎÅÍ ¡ØÆ÷ÀÎÅÍÀÇ Çѹø * ¼±¾ð int arr[3][3]; /* ¿­¿­¿­ 1Çà ¡á¡à¡à arr[0] (4byte, 4byte, 4byte) 2Çà ¡á¡à¡à arr[1] (4byte, 4byte, 4byte) 3Çà ¡á¡à¡à arr[2] (4byte, 4byte, 4byte) */ printf("%d \n", arr); // ¹è¿­ Àüü¸¦ ÀÇ¹Ì printf("%d \n", arr[0]); // 1ÇàÀ» ÀÇ¹Ì printf("%d \n\n", &arr[0][0]); // 1ÇàÀ» ÀÇ¹Ì printf("%d \n", arr[1]); // 2ÇàÀ» ÀÇ¹Ì printf("%d \n\n", &arr[1][0]); // 2ÇàÀ» ÀÇ¹Ì printf("%d \n", arr[2]); // 3ÇàÀ» ÀÇ¹Ì printf("%d \n\n", &arr[2][0]); // 3ÇàÀ» ÀÇ¹Ì printf("sizeof(arr) : %d \n", sizeof(arr)); //Àüüũ±â 12¡¿3 = 36 printf("sizeof(arr[0]) : %d \n", sizeof(arr[0])); //1Çà Å©±â 4¡¿3 = 12 printf("sizeof(arr[1]) : %d \n", sizeof(arr[1])); //2Çà Å©±â 4¡¿3 = 12 printf("sizeof(arr[2]) : %d \n", sizeof(arr[2])); //3Çà Å©±â 4¡¿3 = 12 return 0; }
Ãâ·Â °á°ú
3144076
3144076
3144076

3144088
3144088

3144100
3144100

sizeof(arr) : 36
sizeof(arr[0]) : 12
sizeof(arr[1]) : 12
sizeof(arr[2]) : 12