在C
中,下列声明有区别吗:
float DoSomething( const float arr[] );
对比
float DoSomething( const float* arr );
一个比另一个更可取吗?
最佳答案
不,没有任何区别。每当将数组作为参数传递给函数时,它就会衰减为指针。
我认为使用数组语法更清晰一些,它暗示它是一个数组而不仅仅是指向一个对象的指针。
在http://www.c-faq.com/aryptr/index.html 中有关于指针和数组的非常详细的描述。 .
关于C 题——用[]代替*?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6809523/