| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 397 人关注过本帖
标题:有一个概念问题想请教各位
只看楼主 加入收藏
zhukongyi
Rank: 1
等 级:新手上路
帖 子:6
专家分:1
注 册:2010-6-2
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
有一个概念问题想请教各位
已知函数原型为 "double funl(int a[10],float b)"其中形参a是____?
A.指针变量   B.指针数组  C.整形数组  D.数组指针

这个问题让我有些纠结,总无法找到具体的知识点来证明
我的想法是:  double funl(int *p,int a[10])  这里的*没有运算意义,只是说明p是指针变量。那么[](下标运算?)在这里有没有运算意义,因为a[10]表示的不是具体的元素。
这里的p是指针变量,那么a呢?数组名,代表的是数组的首地址....
搜索更多相关主题的帖子: 概念 
2010-06-21 17:23
myhnuhai
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:3
帖 子:425
专家分:1725
注 册:2010-3-17
收藏
得分:0 
D,数组名表示的是数组首元素的地址,一般数组做实参的时候只写数组名,也就是整个数组的首地址!

不要让肮脏的记忆,迷失了原本纯洁的心灵!
2010-06-21 17:37
dstone
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:20
专家分:125
注 册:2010-6-17
收藏
得分:20 

    []在这里也没有运算意义,只是定义一个10位数的数组,a可以说是数组的首地址,也可以说是数组第一个元素的地址。
    在这里只是定义了形参,和在函数中定义是一样的,而在调用funl()函数时,传递的是值,只是10个int的数字,所以给人的印象a好像是不可以改变。
    a是指针变量,只不过指向的是一个10位数的数组,a的值是可以改变的,可以再定义一个同样10个int的数组,将其指针赋值给a。
2010-06-21 17:48
zhukongyi
Rank: 1
等 级:新手上路
帖 子:6
专家分:1
注 册:2010-6-2
收藏
得分:0 
回复 3楼 dstone
你说到a是指针变量,这就和答案符合了,不过能不能请你再细心的解释下?
因为在我和认知中,a是和指针变量没有关系的,一直只是单纯的认为是数组名,代表一个地址
2010-06-21 17:52
zhukongyi
Rank: 1
等 级:新手上路
帖 子:6
专家分:1
注 册:2010-6-2
收藏
得分:0 
回复 3楼 dstone
a的值是可以改变的,可以再定义一个同样10个int的数组,将其指针赋值给a   

这几句终于让我明白了
谢谢了
真的很厉害
2010-06-21 18:12
快速回复:有一个概念问题想请教各位
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011464 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved