더북(TheBook)

scanf_s() 함수에서 큰따옴표 사이에 서식 지정자 %d를 넣으면 정수형 값을 입력받겠다는 의미입니다. 쉼표 뒤에는 입력받은 값을 저장할 위치를 넣습니다. 여기서는 input 변수죠. 그런데 input 변수 앞에 &(앰퍼샌드, ampersand)가 있습니다. &는 메모리의 주소를 나타낼 때 사용합니다. 즉, &inputinput 변수가 할당된 메모리의 주소를 의미하며, 이 주소에 키보드로 입력받은 값을 넣으라는 뜻입니다. 메모리 주소와 관련한 내용은 7.2 포인터란에서 더 자세히 알아보겠습니다. 지금은 변수 앞에 &를 붙여 입력값을 저장할 위치를 표시한다고만 알아 두세요.

그러면 값을 입력받아서 출력해 볼까요?

2.5.1 scanf.c

int main(void) {
    int input;
    printf("값을 입력하세요 : ");
    scanf_s("%d", &input);
    printf("입력값 : %d\n", input);
    return 0;
} 

실행결과 icon_con

값을 입력하세요 : 2000
입력값 : 2000
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.