gpt4 book ai didi

c - 在函数参数列表中重用变量

转载 作者:行者123 更新时间:2023-12-05 04:41:19 25 4
gpt4 key购买 nike

int doSomething(int n, int arr[n])

这里让我感到困惑的是在参数列表中重用了 n 变量。谁能解释为什么这是有效的以及用例是什么?

最佳答案

有效。

对于这种特定情况,它等同于:

int doSomething(int n, int arr[]);
int doSomething(int n, int *arr);

因为数组参数会自动转换为指向数组元素的指针。通常,参数的类数组声明和指针声明之间存在一些差异。参见 link了解更多详情。

IMO,更好的用法应该是:

int doSomething(int n, int arr[static n]);

这个static n 告诉编译器至少有n 个元素指向arr 是有效的。此外,它使声明在视觉上不同于数组声明,这有助于避免在使用 sizeof arr 时出现意外问题。

关于c - 在函数参数列表中重用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70107514/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com