Programming/C

C언어 - 배열의 주소와 값의 참조, &연산자, *연산자

경원구 2016. 5. 12. 04:00

<&연산자>


주소 연산자인 &연산자를 사용하면 메모리 공간의 주소를 표현할 수 있다.

 

<실습>

-결과-

 

결과값에 보면 주소가 4만큼씩 떨어져서 찍혔다. 4만큼 떨어졌을까? 배열의 자료형을 보면 int형이기 때문에 4바이트씩 떨어진 것을 표현한것이다.

 

 

<배열의 이름은 시작주소>

배열 이름은 배열에 할당된 메모리 공간의 시작주소이다.


<실습>


-결과-


 

코드를 보면 arr은 배열의 시작주소이므로, 40fb00이라는 주소가 찍혔다. arr+1arr에서 +1만큼 다음 주소를 가리킨 것이다. 4바이트 건너뛴 주소를 의미한다

 

 

 

<*연산자>

*연산자는 메모리 공간에 저장된 값을 참조하는 연산자이다.

&연산자로는 주소를 알 수 있고, *연산자로는 그 주소에 들어있는 값을 알 수 있다.

 

<실습>

-결과-

 


이것을 활용하면 다음과 같은 공식?을 만들 수 있다.

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

 

LIST