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