강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

chilllout2410@gmai님의 프로필 이미지
chilllout2410@gmai

작성한 질문수

it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비

7. 영어 단어 복구(문자열 컨트롤)

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

작성

·

279

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와 같이 변수앞에 주소연산자를 붙여 사용하면 좋을 것 같습니다.

chilllout2410@gmai님의 프로필 이미지
chilllout2410@gmai

작성한 질문수

질문하기