开启辅助访问
创新型软件协议开发平台
|
天盟传媒
|
积分兑好礼
|
APP下载
|
违规举报
|
客户服务系统
您好,请
登录
注册
首页
需求悬赏
I T 商城
找服务商
技术问答
商家特权
新闻媒体
更多导航
搜索
搜索
本版
用户
快捷导航
在线
客服
发布
需求
天盟
APP
天盟APP下载
关注
微信
微信扫一扫访问
顶部
返回列表
求当形参是一个数组时怎么办?
癫包***
天盟互助
技术问答
如果定义一个函数int xu(int a[100])
在应用时,是不是要标明这个数组的实际有效长度
例如 a[100]={1,2,3}
在形参里是不是为int xu(int a[3][100])
求大佬解答
显示全部楼层
免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。
版权声明:作者保留权利,不代表天盟立场。
使用道具
举报
上一主题
下一主题
全部参与
1
m3496***
并不!
函数形参声明为数组的,都会被当作是“数组元素指针”类型
所以int xu(int a[100]) 其实就是 int xu(int *a)
也就是说:形参数组的大小完全没有作用[注1]
写int xu(int a[]) 和int xu(int a[100]) 都是一样的结果。
在调用传参时,如果传入的实参是数组,也会隐式转型为数组元素指针类型。所以最终传入的也是指针,和形参类型一致。并且同样,这和实参数组的大小完全没有关系。
至于你最后给出的这个写法int xu(int a[3][100]) 就过分脑补了哦......
注1:在C99标准中允许在形参声明为数组时,在中括号中写入一些内容,用以对传入的数组大小或形参指针进行一些限制。但不是你脑补的那种写法,而且这个新语法用得并不多,初学时不用考虑这个。
使用道具
举报
热门问答
用switch和if,设计一个2008年8月8日是一年的第
我来回答
大神们,请教一下这个数组是几行几列的啊?
我来回答
看技术书籍的时候,看不明白,大家是否会坚持读
我来回答
for(var i=0;i<3;i++),把var i=0放在括号里i
我来回答
求大神解答我这个问题,为什么不行啊???
我来回答
求问哪里错了
我来回答
大家来说说为啥写程序都以Hello World 来入门
我来回答
半年学C能学会不?
我来回答
普通会员
快速沟通
TA的主页
关注TA
收藏TA
今日悬赏
更多 >
每稿
8000
元
一键修图磨皮软件制作
每稿
600
元
asp改源
每稿
3000
元
新大黄蜂提取器
每稿
700
元
PHP的支付 Demo 代码 转换 C# Demo 代码
每稿
6000
元
西游藏宝阁秒下单秒付款软件外辅制作
每稿
17000
元
Dxf文件分析与处理
每稿
17000
元
PC端信某自动转发工具定制
每稿
2400
元
信某小程序
每稿
3000
元
金盾网络版无密码提取工具
每稿
1500
元
物流平台O2O
最新问答
1
用switch和if,设计一个2008年8月8日是一年
2
大神们,请教一下这个数组是几行几列的啊?
3
看技术书籍的时候,看不明白,大家是否会坚
4
for(var i=0;i<3;i++),把var i=0放在括
5
求大神解答我这个问题,为什么不行啊???
6
求问哪里错了
7
大家来说说为啥写程序都以Hello World 来入
8
半年学C能学会不?
9
实现用java对数据库的操作需要掌握什么
10
程序员的寒假如何过的
国内首家创新型IT技术需求众包服务平台,软件需求就上天盟网!
立即登录
或
立即注册