Ex21-전체 2차원 배열의 값 출력

CODEDRAGON Development/C, C++

반응형

   

전체 2차원 배열의 값 출력

Ex20.c의 문제해결: ()를 통해 연산자 우선순위 지정하여 배열요소 값 정상 출력

   

   

*연산자

2차원 배열 요소에 저장된 값을 참조하는 연산자

*연산자는 주소에 저장된 값 참조

   

*메모리공간의 주소

*&array[0][0]

*array[0]+0

**(array+0)+0

   

   

   

메모리 주소


   

   

소스코드

   

  1. #include <stdio.h>
  2.  
  3. int main(void) {
  4.     int array[2][2] = {10,20,30,40};
  5.  
  6.     printf("%d %d \n", *&array[0][0],*&array[0][1]);        // 10, 20 출력
  7.     printf("%d %d \n", *&array[1][0],*&array[1][1]);        // 30, 40 출력
  8.  
  9.     printf("--------\n");
  10.     printf("%d %d \n", *(array[0]+0), *(array[0]+1));        // 10, 20 출력
  11.     printf("%d %d \n", *(array[1]+0), *(array[1]+1));        // 30, 40 출력
  12.  
  13.     printf("--------\n");
  14.     //2차원 배열에서 array[i] == *(array+i) 주소
  15.     printf("%d %d \n", *(*(array+0)+0), *(*(array+0)+1));    // 10, 20 출력
  16.     printf("%d %d \n", *(*(array+1)+0), *(*(array+1)+1));    // 30, 40 출력
  17.  
  18.     return 0;
  19. }


   

   

출력결과