본문 바로가기
Study/C언어

C언어 - sacnf의 &(주소연산자)

by 멘탈은안녕하신가 2018. 12. 17.
728x90
반응형
  • scanf에 &(주소연산자)가 들어가는 이유.
    • scanf에 입력을 받을 때에는 앞서 선언한 변수와 서식문자(%d 같은)에 의해 메모리 공간이 미리 할당되어 있어야 한다.
    • 예)
      scanf("%d", &num);
      %d : 10진수 정수(서식문자)
      &num : 변수
  • 이때, 입력받는 값을 저장하기 위해서는 할당된 메모리 공간을 지정해주어야 한다(10진수 정수, 변수 num에 저장하라고 했지만 변수 num이 어느 위치에 존재하는지 모르기 때문이다).
  • 따라서 변수 num이 있는 메모리의 주소를 알려주어야 하는데, 이 때 사용하는것이 &(주소연산자)이다.
  • 주소연산자를 통해 해당 변수 num의 할당된 메모리 공간이 주소를 알려주기 때문에 입력이 가능하다.
728x90
반응형

댓글