• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

gets()의 매개변수에 대한 질문

19.08.07 21:49 작성 조회수 149

0

안녕하세요. 소스코드에서 line 7에 gets(a)가 있는데요. gets(&a)는 틀린걸까요?

답변 1

답변을 작성해보세요.

0

gets 함수는 매개변수에 배열의 시작주소를 넘깁니다. 원칙적으로는 gets(&a[0]) 이렇게 해야 하는데  배열의 이름이 전체 배열의 시작주소이므로 &a[0]과 a는 같은 주소입니다. 그래서 gets(a)로 생략해서 표현합니다.

&a도 배열의 시작주소를 나타내지만 컴파일러에 따라 에러를 내는 것 같습니다.

배열의 시작주소는 이름만 사용하기를 권장합니다.

주소연산자(&)는 기본형 변수일 때(int a, float a, char a 등등) &a와 같이 변수앞에 주소연산자를 붙여 사용하면 좋을 것 같습니다.