鱼C论坛

 找回密码
 立即注册
查看: 1956|回复: 5

看题

[复制链接]
发表于 2022-5-2 14:51:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
void fun(float array[],int *ptr);
题目中有个选项是
函数参数array 和 ptr 都是指针变量
这里的这个array数组名是一个变量吗?
是因为这里是形参所以是变量吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-5-2 14:54:41 | 显示全部楼层
题目中给的这个选项是正确的,为啥,不应该是错的吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-2 16:52:49 | 显示全部楼层
const常量也可以叫做const类型变量,数组名数组名类似于指针常量,那也可以叫做const类型的指针变量。
我觉得这就是个说法问题。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-2 17:31:55 | 显示全部楼层

回帖奖励 +10 鱼币

就像选项说的,array本来就是指针变量。你如果调用函数如fun(a, b),只是把a数组的首地址传给了形参array。
C语言不会把整个数组作为参数传过去,这样开销太大,只是用了个指针指向目标数组的首地址而已。
如果你在fun函数里打印sizeof(array),就会知道这个变量占的空间就是一个指针变量的大小,不会是数组大小
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-5-2 21:37:09 | 显示全部楼层
数组名不是一个地址常量吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-2 21:56:17 From FishC Mobile | 显示全部楼层
tyf1218405122 发表于 2022-5-2 21:37
数组名不是一个地址常量吗?

先了解一下函数吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-17 19:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表