数据驱动思想 & c语言返回值为数组
时间:2010-09-14 来源:huazaicola
#include <stdio.h> |
与switch-case方式对比,这种方式代码简洁,可读性强。
有一点要注意:
在被调用的函数中定义的局部变量是在堆栈上分配的,函数退出后,变量所在的内存已经释放,所以不能返回局部变量的指针。如:
int * function()
{
int a[10];
...
return a; //错误!
}
c语言,使用数组做返回值的方法:
方法1,用静态变量进行返回
char *SubFunction(void)
{
static char szText[5] = "adfa"; // 用静态空间
//对p进行赋值操作
return szText;
}
// 方法2,用指针传递
void SubFunction(char *pText1, char *pText2)
{
// 对pText1, pText2运算
strcpy(pText1, "love");
strcpy(pText2, "you");
return;
}
方法3:使用返回指针方法
#include <stdio.h> |
注意:1.free(b),2.a的赋值方式