책 내용 질문하기
183쪽 문제 3번
도서
2024 시나공 정보처리기사 실기 기본서
페이지
183
조회수
208
작성일
2024-08-02
작성자
김*현
첨부파일

char* getname() {


printf("이름 입력 : ");

gets(n);

return n;


}


문제에서 자료형 포인터 함수로 되어있는데


char getname() {


...


}



이렇게 자료형 함수로 바꾸면 안되는건가요?


함수 내부에서 n배열의 주소를 받아서 자료형 포인터 함수를 쓰는건가요?



답변
2024-08-03 14:13:08

안녕하세요 길벗수험서 운영팀입니다.

문제의 해설이도 써있듯 getname( ) 함수는 문자형 포인터 값을 반환하는 함수이기 때문에

회원님께서 말씀하신것처럼 변경하시면 안됩니다

값을 반환하는 코드를 보시면 return n; 이라고 되어있는데

n이라는것은 배열의 이름입니다.

이렇게 배열의 이름만 쓰게 되면 n의 시작 주소를 함수를 호출했던 곳으로 반환해주는 것입니다.

행복한 하루되세요 :)

  • 관리자
    2024-08-03 14:13:08

    안녕하세요 길벗수험서 운영팀입니다.

    문제의 해설이도 써있듯 getname( ) 함수는 문자형 포인터 값을 반환하는 함수이기 때문에

    회원님께서 말씀하신것처럼 변경하시면 안됩니다

    값을 반환하는 코드를 보시면 return n; 이라고 되어있는데

    n이라는것은 배열의 이름입니다.

    이렇게 배열의 이름만 쓰게 되면 n의 시작 주소를 함수를 호출했던 곳으로 반환해주는 것입니다.

    행복한 하루되세요 :)

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.