Ex05-1차원 배열의 주소와 값의 참조

CODEDRAGON Development/C, C++

반응형

   

1차원 배열의 주소와 값의 참조

&주소를 참조하는 연산자

   

   

학습내용

데이터 타입에 따른 메모리 주소의 차이 확인하기

주소를 나타내는 숫자 상수는 운영체제나 개발 SW 마다 다릅니다.

   

   

&연산자 사용시 메모리 도식도

   

   

   

소스코드

   

  1. #include <stdio.h>
  2.  
  3. int main(void) {
  4.     char array1[5] = {'A','B','C', 'D', 'E'};
  5.     int array2[5] = {1,2,3, 4, 5};
  6.  
  7. //%x(16진수) 출력
  8.     printf("array1: %x %x %x %x %x \n",&array1[0],&array1[1],&array1[2], &array1[3], &array1[4]); //16진수 주소출력, 1 byte 차이
  9.     printf("array2: %x %x %x %x %x \n",&array2[0],&array2[1],&array2[2], &array2[3], &array2[4]); //16진수 주소출력, 4 byte 차이
  10.  
  11. //%d(10진수) 출력
  12. //    printf("array1: %d %d %d %d %d \n",&array1[0],&array1[1],&array1[2], &array1[3], &array1[4]); //10진수 주소출력, 1 byte 차이
  13. //    printf("array2: %d %d %d %d %d \n",&array2[0],&array2[1],&array2[2], &array2[3], &array2[4]); //10진수 주소출력, 4 byte 차이
  14.  
  15.     return 0;
  16. }


 

   

출력결과

%x(16진수)로 출력한 결과

   

   

%d(10진수)로 출력한 결과