본문 바로가기

C언어/C언어 문법

[C언어] scanf 호출 시 &연산자를 사용하는 이유

728x90
반응형

&연산자의 역할

 

scanf 함수는 값을 입력받아서 변수에 전달하는 역할을 한다.

 

해당 역할을 수행하기 위해서는 변수가 어디 저장되어 있는지 알아야 할 것이다.

 

따라서 &연산자를 통해 변수의 주소를 scanf 함수에 전달해주어야 하는 것이다.

 

 

 

그런데 문자열을 저장할 때에는 & 연산자를 필요로 하지 않는다.

 

이전 포스팅에서도 다루었듯이 문자열의 자료형은 char*형이다.

 

따라서 그 자체로 이미 주소값을 나타내고 있기 때문에 굳이 &연산자를 붙여주지 않아도 되는 것이다.

 

아니, &연산자를 붙이게 되면 틀린 문법이 되어버린다.

 

 

 

 

 

 

 

 

728x90
반응형