C 语言不允许返回一个完整的数组作为函数的参数。但是,可以通过指定不带索引的数组名来返回一个指向数组的指针。
另外,C 不支持在函数外返回局部变量的地址,除非定义局部变量为 static 变量。
示例:
u8 *testarr;
u8 i;
u8 *test()
{
static u8 a[4]={0x11,0x22,0x33,0x44};
return a;
}
testarr = test();
for(i = 0; i < 4; i ++)
{
printf("testarr = %02x\r\n", teastarr[i]);
}
执行后的打印结果

本文探讨了C语言中返回数组作为函数参数的限制,并介绍了通过返回指向数组的指针来实现这一目标的方法。此外,文章还解释了如何正确地在函数外部使用返回的指针,包括一个具体的示例代码,展示了如何声明和使用返回的数组指针。
6741

被折叠的 条评论
为什么被折叠?



