gpt4 book ai didi

c - 将 arr[ ] 和 *arr 作为函数原型(prototype)中的参数在所有意义上都等效吗?

转载 作者:行者123 更新时间:2023-12-02 01:34:32 24 4
gpt4 key购买 nike

假设我有一些函数 function,以下原型(prototype)在所有意义上都完全等效吗?

sometype function(sometype2 arr[],...);
sometype function(sometype2 * arr,...,);

我认为是的,但我的 c 教授从未真正解释过这一点。

最佳答案

是的,给出的原型(prototype)是等效的。

当您将数组传递给函数时,实际发生的是指向数组第一个元素的指针被传递给函数。这称为数组在作为参数传递时衰减为指针。

在这两种情况下,sizeof arr 的值都将返回指针类型的大小,在大多数系统上通常为 4 或 8,而不是数组的字节大小。

关于c - 将 arr[ ] 和 *arr 作为函数原型(prototype)中的参数在所有意义上都等效吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33272645/

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