c语言中如何声明数组?

pingchou 2010-09-10 11:11:43
高手请指教?
比如一个函数首部是这样的 int fun(char a[10],int *b);
则此函数的函数声明语句是() A:int fun(char a,int *b) B: int fun(char ,int )
C: int fun(char *a,int n) D: int fun(char *,int *)
麻烦高手们赋上 解释

Many thanks!!!
...全文
755 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
black_silence 2010-09-12
  • 打赏
  • 举报
回复
答案是D
lzqcy 2010-09-12
  • 打赏
  • 举报
回复
肯定是D啊
  • 打赏
  • 举报
回复
考试题?。。。。
yctou 2010-09-12
  • 打赏
  • 举报
回复
C Primer plus 里讲的,D 应该完全正确
sky198306 2010-09-12
  • 打赏
  • 举报
回复
数组和指针,只能够用D了,固然我也不知道其缺点
Q446512799 2010-09-11
  • 打赏
  • 举报
回复
D,其实是ding。。。
linux_id 2010-09-11
  • 打赏
  • 举报
回复
从语法角度讲,只有 D 是正确的
iiset 2010-09-11
  • 打赏
  • 举报
回复
D
javaduzhe 2010-09-11
  • 打赏
  • 举报
回复
D?这样也行?
elvshine 2010-09-11
  • 打赏
  • 举报
回复
D是不太好,不过这种说法感觉还是不是很专业的。
FrankHB1989 2010-09-11
  • 打赏
  • 举报
回复
严格来说题干有误,选项都不正确。语法角度来看,函数头/首部(function head)是不包括分号的,而作为声明的函数原型(function prototype)必须包含分号。
函数原型的比较忽略形式参数名称,但函数名、返回值和参数类型必须严格一致。数组在形式参数的位置上可以丢弃长度信息而退化为(隐式转换为对应类型的)指针,只要元素类型一致的话在形式参数的位置上就是相同的类型。因此如果题目改正了以上错误的话,答案是D。
wizard_tiger 2010-09-11
  • 打赏
  • 举报
回复
D
两个参数都为指针。
cbib_cat 2010-09-11
  • 打赏
  • 举报
回复
只可能D了
skyler2008 2010-09-11
  • 打赏
  • 举报
回复
D

每天回帖即可获得10分可用分!
pang123hui 2010-09-11
  • 打赏
  • 举报
回复
只有D是正确答案,不过还是不推荐
dingshaofengbinbin 2010-09-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 brookmill 的回复:]
数组在传递参数的时候会自动退化为指针
所以,作为形参,char *a和char a[]和char a[10]和char a[100]这些都是一样的。
[/Quote]
正解!!!!
十八道胡同 2010-09-10
  • 打赏
  • 举报
回复
D

..

形参数数组 ,但是传到实参时 是作为指针用的
东大坡居士 2010-09-10
  • 打赏
  • 举报
回复
D啊~~
brookmill 2010-09-10
  • 打赏
  • 举报
回复
说D不太好,是因为它省略了参数的名字。虽然这样声明函数是符合语法的,但是可读性不好,不提倡。
不过用a和b作为参数的名字本身就有点不负责任。
brookmill 2010-09-10
  • 打赏
  • 举报
回复
数组在传递参数的时候会自动退化为指针
所以,作为形参,char *a和char a[]和char a[10]和char a[100]这些都是一样的。
加载更多回复(1)

69,364

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧