C 题——用[]代替*?

标签 c

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/

相关文章:

java - 在java中读取c程序的stdout

c - 从函数返回 char** 时出现段错误

从 NodeJs 调用 C 库

c - 如何使静态字符串在反汇编时不可见?

c - 使用共享内存实现管道

c - 动态内存分配和内存泄漏

c - 如何计算数组C中的值被使用了多少次?

c - 在运行时为文件分配唯一编号

c - c 中的 dispatch_async()

c - 动态分配的结构体指针数组