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

jhrs34님의 프로필 이미지
jhrs34

작성한 질문수

홍정모의 따라하며 배우는 C언어

14.8 구조체와 함수 연습문제

2:27초 s_gets 함수에 대헤서 질문드립니다..

해결된 질문

작성

·

285

0

2:27

s_gets 함수의 프로토타입이  char*를 return값으로 가지게 선언되어 있읍니다만, 위 연습문제를 풀 때에는 이 return 값이 사용되지는 않는 것 같습니다. void로 선언해도 문제가 없는 것 같은데, 굳이  리턴 값을 char * 로 설정한 이유가 있으신가요?

답변 2

1

jhrs34님의 프로필 이미지
jhrs34
질문자

아그렇군요.. 표준라이브러리에 있는것들을 좀더 살펴봐여겠네요 ㅎ 

답변 감사합니다!!

1

s_gets, gets 함수는 사실 C언어 표준 라이브러리에 이미 구현된 함수들이에요.

아마 사용되지 않더라도 원래 기능을 비슷하게 구현하기 위해서 반환을 만드신 것 같습니다.

참고 - https://en.cppreference.com/w/c/io/gets

추가로 gets 랑 친구격인 fgets 에서는 파일의 끝을 만났을때 fgets가 오류의 의미인 NULL을 반환하므로 오류가 발생하면 반복을 중단하고 파일을 더이상 읽지 않도록 만들수도 있는 등 유용하게 사용할 수도 있습니다.

jhrs34님의 프로필 이미지
jhrs34

작성한 질문수

질문하기