原创 摘录 C语言传递多个返回值

2013-11-4 14:53 1025 15 15 分类: MCU/ 嵌入式
// 方法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);
}
PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
15
关闭 站长推荐上一条 /3 下一条