함수 내부의 지역변수의 포인터는 리턴시켜도 의미가 없습니다.
왜냐하면 함수로 들어갈 때 생성되었다가 함수를 빠져나갈때 사라져버린다고 생각하시면 되겠지요.
지역변수의 포인터니까요.. 다만 데이타 값은 전달될 수 있겠지요..
그래서 함수의 인자로 포인터를 넣어주는 형태를 취합니다.
동적으로 할당시켜주는 방법도 있습니다만 좀 더 공부하신 후에 사용하는게 좋을 듯합니다.
예제입니다.
#include <stdio.h>
#include <string.h>
void function(char *ABC);
void main(void)
{
char ABC[100];
function(ABC);
printf("%s \n", ABC);
}
void function(char *ABC)
{
strcpy(ABC, "Test");
}
RfRedEye 님이 쓰신 글 :
: 안녕하세요?
:
: 함수내부에 지역변수로 선언된 배열값을 리턴시켜 배열값을 받으려 하는데요 가능한건가요?
:
: 안된다면 다른예가 있을까요?
:
: ??? function (void)
: {
: char ABC[100];
: 내부에서 처리........
:
: return ABC; <================여기서 리턴시키려면.??????????
: }
:
: 꼭좀 지적해 주세요~~
|