Ex28-2차원 배열에서 *(array+i) == array[i] == *&array[i]는 주소를 의미

CODEDRAGON Development/C, C++

반응형

   

2차원 배열에서 *(array+i) == array[i] == *&array[i]는 주소를 의미

2차원 배열 복습

   

   

메모리 구조도

   

   

소스코드

   

#include <stdio.h>

int main(void) {
                int array[3][3]={10,20,30,40,50,60,70,80,90};

                //
배열 요소들의 주소 출력
                printf("%x %x %x \n", &array[0][0], &array[0][1], &array[0][2]);        //
주소 출력
                printf("%x %x %x \n", &array[1][0], &array[1][1], &array[1][2]);        //
주소 출력
                printf("%x %x %x \n", &array[2][0], &array[2][1], &array[2][2]);        //
주소 출력
                printf("---------------\n");


                //
배열에 저장된 출력
                // *&
상쇄
                printf("%d %d %d \n", *&array[0][0], *&array[0][1], *&array[0][2]);     //
출력
                printf("%d %d %d \n", *&array[1][0], *&array[1][1], *&array[1][2]);     //
출력
                printf("%d %d %d \n", *&array[2][0], *&array[2][1], *&array[2][2]);     //
출력
                printf("---------------\n");

                printf("%d %d %d \n", array[0][0], array[0][1], array[0][2]);   // *&
서로 상쇄
                printf("%d %d %d \n", array[1][0], array[1][1], array[1][2]);   // *&
서로 상쇄
                printf("%d %d %d \n", array[2][0], array[2][1], array[2][2]);   // *&
서로 상쇄

                return 0;
}


   

   

출력결과