如何将数组传递给无法修改的函数?

Xela95

我正在用C编程,我想将数组传递给函数;此函数无法修改数组的元素。函数参数的正确语法是什么?

void func(const Foo array_in[])

要么

void func(Foo const array_in[])

还是它们相同?谢谢。

newacct

首先,声明const Foo array_in[]Foo const array_in[]在C中完全相同。

其次,当函数的参数类型具有“ T数组”类型时,它将自动调整为“ T指针”类型。因此,编译器假装就像您写的那样:

void func(const Foo *array_in)

或同等

void func(Foo const *array_in)

请注意,两者const Foo *array_inFoo const *array_inC的含义完全相同(指向const Foo的指针)。但是,其Foo * const array_in含义有所不同(指向Foo的常量指针)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章