-
콩알녀
그렇군요 ㅋㅋ
-
갤쓰리
int형인 경우에는 &를 써주어야죠. 물론 scanf 함수에서는..
-
크나
만약 문자열이 아닌 int타입의경우는 &를 쓰는것은 무의미한가요?
-
카프리콘
네 맞습니다. str의 시작 주소를 나타냅니다.
-
해가빛
아참. 그럼 &str은 str의 본 주소 보는데 사용하는건가요?
-
아론아브라함
질문하면 수다님이 달려와 주시기에
언제나 감사하고 있습니다 ㅋㅋ -
딸기맛사탕
아 그렇군요!
같은줄 알았네요 ㄷㄷ -
노을
str와 &str[0]는 당연히 동일한 위치를 가리키며, &str는 str의 주소로 str 자체가 이미 포인터임과 동시에 배열 전체를 가리키므로 의미가 없는 문장입니다. 즉, 문자 배열에서의 scanf는 &를 필요로 하지 않습니다. (오래된 컴파일러에서는 &str의 경우 경고를 발생시킵니다.)
그리고 배열이 어떻게 쓰이느냐에 따라 포인터로 바뀌기도 하므로 배열과 포인터와의 관계를 다시한번 보고 오시는게 좋겠습니다. -
메이
그런데 두 가지 모두 실행해 보니
두 가지 모두 잘 되는데...
값이 다르네요.
첫번째는 문자열반환
두번째는 주소값 반환
결국 같은것이라고 생각했는데 어떻게 된걸까요? -
뿌닝
문자열, 즉 문자 배열(char[])의 이름이 주소를 나타내는 상수(첫번째 문자의 시작번지)이므로 첫번째 방법을 쓰셔야 합니다.