* 연산자, *&연산자 - 메모리 구조(총정리)

CODEDRAGON Development/C, C++

반응형

   

   

* 연산자

  • 메모리의 주소 앞에 사용된 경우
  • *는 메모리 공간에 저장된 을 참조하는 연산자입니다.

변수의 값 참조

배열 요소의 값 참조

*&변수이름

*&배열 요소

int a=10, b=20;

printf("%d \n", *&a); // a의 값printf("%d \n", *&b); // b의 값

int array[2] = {10, 20};

printf("%d \n", *&array[0]); // array[0]의 값

printf("%d \n", *&array[1]); // array[1]의 값

   

*연산자 사용시 메모리 구조


   

   

*&는 서로 상쇄되어 없는 것과 동일의미

*&a == a

*&는 상쇄되지만 &*는 상쇄되지 않습니다.

   

   

*&연산자 사용시 메모리 구조

   

   

   

*연산자 &연산자를 통한 메모리 구조(통합)

array[i] == *(array+i) == *&array[i]

 

'Development > C, C++' 카테고리의 다른 글

1차원 배열의 주소와 값의 참조  (0) 2015.07.14
배열 선언 시 주의할 점  (0) 2015.07.14
Ex17-팩토리얼 출력 (Factorial)  (0) 2015.07.14
LAB03-윤년 계산기  (0) 2015.07.13
LAB02-동전교환기  (0) 2015.07.13