tyf1218405122 发表于 2022-5-2 14:51:41

看题

void fun(float array[],int *ptr);
题目中有个选项是
函数参数array 和 ptr 都是指针变量
这里的这个array数组名是一个变量吗?
是因为这里是形参所以是变量吗?

tyf1218405122 发表于 2022-5-2 14:54:41

题目中给的这个选项是正确的,为啥,不应该是错的吗?

小甲鱼-大王八 发表于 2022-5-2 16:52:49

const常量也可以叫做const类型变量,数组名数组名类似于指针常量,那也可以叫做const类型的指针变量。
我觉得这就是个说法问题。

风车呼呼呼 发表于 2022-5-2 17:31:55

就像选项说的,array本来就是指针变量。你如果调用函数如fun(a, b),只是把a数组的首地址传给了形参array。
C语言不会把整个数组作为参数传过去,这样开销太大,只是用了个指针指向目标数组的首地址而已。
如果你在fun函数里打印sizeof(array),就会知道这个变量占的空间就是一个指针变量的大小,不会是数组大小

tyf1218405122 发表于 2022-5-2 21:37:09

数组名不是一个地址常量吗?

wp231957 发表于 2022-5-2 21:56:17

tyf1218405122 发表于 2022-5-2 21:37
数组名不是一个地址常量吗?

先了解一下函数吧
页: [1]
查看完整版本: 看题