<&연산자>


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

 

<실습>

-결과-

 

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

 

 

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

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


<실습>


-결과-


 

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

 

 

 

<*연산자>

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

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

 

<실습>

-결과-

 


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

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

 

'Programming > C' 카테고리의 다른 글

C언어 - 포인터(Pointer)  (0) 2016.05.14
C언어 - 2차원 배열, 주소체계  (0) 2016.05.13
C언어 - 1차원 배열  (0) 2016.05.11
C언어 - 지역변수, 전역변수, 정적변수, 레지스터 변수  (0) 2016.05.10
C언어 - 함수란?  (0) 2016.05.09
posted by 경원구