怎么使C语言的函数返回值为一个数组

来源:百度知道 编辑:UC知道 时间:2024/05/13 08:38:30

// 方法1,用静态变量进行返回
char *SubFunction(void)
{
static char szText[5] = "adfa"; // 用静态空间
//对p进行赋值操作
return szText;
}
void Caller() // 这个函数调用SubFunction
{
TRACE("%s\n", SubFunction);
}

// 方法2,用指针传递
void SubFunction(char *pText1, char *pText2)
{
// 对pText1, pText2运算
strcpy(pText1, "love");
strcpy(pText2, "you");
return;
}
void Caller() // 这个函数调用SubFunction
{
char szText1[5], szText2[5]; // 当然这里也可以动态分配内存
SubFunction(szText1, szText2); // szText1, szText2就是带回的值
TRACE("%s %s\n", szText1, szText2);
}

int * fun()
{
int* a = (int*)malloc(sizeof(int)*8);
a[0] = 'a';
a[1] = 'b';
return a;
}
main()
{
int * a;
a = fun();
printf("%s",a);
}

返回指针

用结构体也可以吧