[][C]关于向被调用函数传递结构数组的有关问题
[求助][C]关于向被调用函数传递结构数组的问题
我在网上看到有人这样像被调用函数传递信息:
我自己看书的时候,依稀记得当使用
这样的函数定义的时候,编译的时候,会忽略掉中括号中间的5,相当于形式参数是一个指针,调用函数向被调用函数传递的是数组的地址,但是我不太确定,自己翻书没找着..要想传递结构的值的话,我是这样写的,大家看看我写的对不对,非常感谢!
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/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说的