C/C++에서 함수의 반환값이 포인터가 될 수 도 있다. 이 경우 함수의 선언은 다음과 같다.
반환자료형 *함수명(입력데이터형1, 입력데이터형2, …); |
함수 내부에서 return 명령어에 의해 반환되는 변수도 당연히 반환자료형의 포인터가 되어야 한다. 이것은 문자열을 반환하거나 배열을 반환해야 하는 함수를 작성할 때 사용된다.
예를 들어서 getMsg()라는 함수의 반환형이 문자열일 경우 다음과 같이 선언한다.
char *getMsg();
|
자료형 (char*)은 문자배열 즉 문자열을 표현하는 것이다. 이것을 이용하여 예제를 들어보면 다음과 같다.
#include <stdio.h>char *getMsg(); // 함수 선언int main(){printf("%s", getMsg());}char *getMsg() // 함수 정의{char *str = "getMsg() called.\n";return str;} |
getMsg() called. |
이 예제에서 getMsg() 함수는 내부에서 문자열 포인터 str을 생성한 후 그것을 반환한다. main()함수에서는 그것을 받아서 그대로 printf()함수의 입력 인자로 주는 간단한 예제이다.
C++ 강좌 전체 목록 >>>
댓글 없음:
댓글 쓰기