No.17 scanf( ) 함수 예제

C언어 기초 2015. 4. 17. 09:00 Posted by 네트동자

01: #include <stdio.h>

02: int main(void)

03: {

04: int age;

05: printf("What is your age? : ");

06: scanf("%d", &age);

07: printf("Wow! Really? Are you %d years old? \n\n\n", age);

08:

09: return 0;

10: }



04행에서 age는 

06행의 

scanf( ) 함수에서 입력받은 데이터를 저장하기 위해서 선언된 변수 (임시 저장 공간) 이다.



궁금한 점.

왜,             scanf("%d", age) 라고 하지 않고

                scanf("%d", &age) 라고 age 앞에 &을 붙여줄까?


간단히 설명해보겠다.

               &age는 변수 age 를 위해 할당된 메모리의 주소를 의미한다.


 scanf("%d", &age) 라는 표현은 10진수 Data를 입력받아서 

                '변수 age의 메모리 주소'에 '입력값'을 저장하라는 의미이다.


한마디로 말해서 이런거다.

당신이 택배(Data)를 받을 때, 어떻게 해야 택배를 받을 수 있는가 ? 

바로 '주소'가 있어야 '택배'를 받을 수 있다.


이때, 택배는 10진수 data이고,

      주소는 &age를 의미한다.

즉, 10진수 data가 도달해야 할 주소 &age 를 의미한다.