변수의 시작주소 & 연산자

C언어 변수란? 2015. 4. 23. 09:00 Posted by 네트동자

C언어에서는 & 연산자를 사용하면,

변수의 시작주소를 알 수 있다.



우리는 scanf() 함수를 배웠다.

scanf()함수에서 우리는 Keaboard로부터 Data를 입력받아 변수에 저장할 때,

& 연산자를 사용했었다.


다음 연습해볼 예제로 변수의 시작주소를 공부해보자.



01: /* 변수의 시작 주소에 대해 공부하는 예제*/

02:

03: #include <stdio.h>

04: int main(void)

05: {

06: int a = 3;

07: int b = 4;

08:

09: printf("a의 값 : %d \n", a);                //변수 a에 저장된 값을 10진수로 출력하라

10: printf("b의 값 : %d \n", b);

11:

12: printf("변수 a의 시작주소 : %x \n", &a);      //변수 a의 시작주소를 16진수로 출력

13: printf("변수 b의 시작주소 : %x \n", &b);

14

15: return 0;

16: }




09행과 10행에서 "변수 a"와  "변수 b"가 저장하고 있는 값이 10진수(%d)로 출력된다.

12행과 13행에서 변수 a와 변수 b가 있는 '메모라 공간의 시작주소'를 16진수(%x)로 출력.


그렇게 해서,

바로 12ff60에 변수 a가 만들어졌고,

      12ff54에 변수 b가 만들어졌다.


나중에 우리 공부하니까

여기서는 이정도만 공부하자.