函数原型中的参数

2024-04-18

我的问题是:当我用 C 编写函数原型时,如下所示:

void foo(int *vector);

做同样的事情:

void foo(int vector[MAX_LENGTH]);

对于函数,总是作​​为指针传递?代码是一样的吗? 提前致谢。


这很微妙。 C 中的数组不是指针,但 C 不允许将数组作为函数参数传递。所以当你有void foo(int vector[MAX_LENGTH]);,本质上你所做的就是告诉其他程序员(以及未来的你)这个函数需要一个数组MAX_LENGTH传递给它。编译器不会帮助你。它会默默地将你的数组转换为指针。

This http://www.lysator.liu.se/c/c-faq/c-2.html#2-4解释得很好。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

函数原型中的参数 的相关文章

随机推荐