배열과 문자열 입력시 &(주소연산자)
, flowithego 님이 작성int형 배열에 값을 입력(%d)할때 '&' 를 써주어야 하는데
char str[] 또는 char* str 형태의 문자열을 입력(%s) 받을때
왜 '&' 를 생략해도 되는건가요?
%s가 &를 필요로 하지 않나요?
문득 배열에 반복문으로 값을 입력하다가 &가 들어가길래
명확히 이해가 되지 않아서 질문드립니다
Re: 배열과 문자열 입력시 &(주소연산자)
, Lee Arang님이 작성"%s가 &를 필요로 하지 않나요?"
-> 정확히 말하자면 &를 필요로 하는 것이 아니라 해당 메모리의 주소를 필요로 하는 것입니다.
문자열을 입력 받을 때 &를 생략해야 하는 이유는 배열의 이름이 곧 주소를 뜻하기 때문입니다.
이는 후에 함수의 이름도 주소를 뜻하는 부분에서 동일합니다.