读书人

[][C]关于向被调用函数传递结构数组的

发布时间: 2012-04-15 18:39:21 作者: rapoo

[求助][C]关于向被调用函数传递结构数组的问题
我在网上看到有人这样像被调用函数传递信息:

C/C++ code
struct a {   ...; };  void function(struct a []); int main(void) {   struct a arr[5];   function(arr);    return 0; }  void function(struct a arr[5]) {   ...; }

我自己看书的时候,依稀记得当使用
C/C++ code
void function(struct a arr[5])

这样的函数定义的时候,编译的时候,会忽略掉中括号中间的5,相当于形式参数是一个指针,调用函数向被调用函数传递的是数组的地址,但是我不太确定,自己翻书没找着..要想传递结构的值的话,我是这样写的,大家看看我写的对不对,非常感谢!
C/C++ code
struct a {   ...; };  void function(struct a strc); int main(void) {   struct a arr[5];   for (int i = 0; i < 5; i++)     function(arr[i]);    return 0; }  void function(struct a strc) {   ...; }

struct a {
...;
};

void function(struct a strc);
int main(void)
{
struct a arr[5];
for (int i = 0; i < 5; i++)
function(arr[i]);

return 0;
}

void function(struct a strc)
{
...;
}

我是C的初学者,目前正在努力重新学习计算机,非常感谢!

[解决办法]
5F,没有struct可以?a又不是typedef了的,根本不是类型

忽略[]中数字的在C Primer Plus P257说的

读书人网 >C语言

热点推荐