论坛元老
 
- 积分
- 3371
- 金钱
- 3371
- 注册时间
- 2015-1-7
- 在线时间
- 794 小时
|
发表于 2016-9-29 15:00:47
|
显示全部楼层
本帖最后由 ianhom 于 2016-9-29 15:02 编辑
提供一个不推荐的非主流做法:把数组放到结构体里,函数返回结构体实体。不过执行的效率和代码的size没有用指针有优势。
[mw_shl_code=c,true]
#define MAX_NUM (5)
typedef struct _ARRAY_STRUCT
{
unsigned char array[MAX_NUM]; //结构体只包含一个数组
}ARRAY_STRUCT;
ARRAY_STRUCT Test_fn()
{
ARRAY_STRUCT Temp;
int i;
for(i = 0; i < MAX_NUM; i++)
{
Temp.array = i+1; //向临时数组中写入1,2,3,4,5
}
return Temp; //返回只包含数组的结构体实体
}
int main (void)
{
int i;
ARRAY_STRUCT test;
test = Test_fn(); //把包含只数组的结构体实体返回给另一个只包含数组的结构体
for(i = 0; i < MAX_NUM; i++)
{
printf("%d\n",test.array); //打印出1,2,3,4,5
}
}
[/mw_shl_code]
|
|