社区
C语言
帖子详情
数组名与指针问题(数组名本身是个指针变量,还是就是一个值?)
Roy_Smiling
2011-02-28 05:55:25
有书上说数组名就是指针,那么假如在一个函数中定义了一个数组:int a[10];那么是说a 是一个指针变量,指向的是有10个int单元的首地址,还是a 的值就是这10个单元的首地址啊?如果是后者那么a 本身就不是一个变量了,就是一个值了么?
...全文
249
10
打赏
收藏
数组名与指针问题(数组名本身是个指针变量,还是就是一个值?)
有书上说数组名就是指针,那么假如在一个函数中定义了一个数组:int a[10];那么是说a 是一个指针变量,指向的是有10个int单元的首地址,还是a 的值就是这10个单元的首地址啊?如果是后者那么a 本身就不是一个变量了,就是一个值了么?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
FrankHB1989
2011-02-28
打赏
举报
回复
嘛……话说回来,只是在C语言中不区分“数组名”和“数组”倒也没什么大碍。
“数组名转换为指针”这种说法应该是一种习惯,不过其实并不很常见。
(ISO C99中,converting array name to pointer这类描述只是出现在一个脚注中,并不是被良好定义的说法。)
PS.ISO C99在基础概念上不太严格,像entity等没有定义却直接使用了,不知道是不是JTC1/SC22/WG14认为这些概念是“不言自明”的关系。用ISO C++的兼容概念来补充的话,值、类型和对象都是entity,而name指标识符的一种用法,和entity相对。
FrankHB1989
2011-02-28
打赏
举报
回复
数组名是数组名,数组是数组,指针是指针,三回事。
简单地说,数组名表示的数组除了少数左值上下文(如作为&和sizeof的操作数)外,都会隐式转换为指向这个数组首个元素的指针,这个指针是常量。
Roy_Smiling
2011-02-28
打赏
举报
回复
[Quote=引用 7 楼 jqctop1 的回复:]
数组名是一个常量,不是变量,它的值是数组第一个元素的地址
[/Quote]
那是不是说数组名和函数名是一样的,是一个常量,它的值是相应的第一个元素的地址?
有点笨
2011-02-28
打赏
举报
回复
数组名是一个常量,不是变量,它的值是数组第一个元素的地址
liutengfeigo
2011-02-28
打赏
举报
回复
我想问的是数组名是不是个指针变量,还是它本身就是一个值,。就是它是不能改变的变量还是常量。
你可以理解成一个常指针.
gladstonejay
2011-02-28
打赏
举报
回复
数组名不可以说是指针变量
只是退化为指针
它本身可以改变
跟正常的指针一样、 当然你用CONST修饰就是另外一回事了、、
Roy_Smiling
2011-02-28
打赏
举报
回复
[Quote=引用 1 楼 johnxme126 的回复:]
都是,指针变量的值就是地址。所以你的两种说法是一样的
lz可以去看下指针的定义。
[/Quote]
我想问的是数组名是不是个指针变量,还是它本身就是一个值,。就是它是不能改变的变量还是常量。
pengzhixi
2011-02-28
打赏
举报
回复
http://blog.csdn.net/supermegaboy/archive/2009/11/23/4855036.aspx
个人还是觉得这位的写得非常好
昵称很不好取
2011-02-28
打赏
举报
回复
数组名和指针还是两回事,当做函数参数的时候数组名会退化为指针
参考下面这篇文章:
http://windmill.javaeye.com/blog/371192
Johnxme126
2011-02-28
打赏
举报
回复
都是,指针变量的值就是地址。所以你的两种说法是一样的
lz可以去看下指针的定义。
指针
数组
与
数组
指针
详解
指针
数组
与
数组
指针
详解1....
数组
指针
:
数组
指针
可以说成是”
数组
的
指针
”,首先这个
变量
是
一个
指针
,其次,”
数组
”修饰这个
指针
,意思是说这个
指针
存放着
一个
数组
的首地址,或者说这个
指针
指向
一个
数组
的首地址。 根
数组
指针
和
指针
数组
首先,理解一下
数组
指针
和
指针
数组
这两个
名
词: “
数组
指针
”和“
指针
数组
”,只要在
名
词中间加上“的”字,就知道中心了——
数组
的
指针
:是
一个
指针
,什么样的
指针
呢?指向
数组
的
指针
。
指针
的
数组
:是
一个
数组
...
数组
名
与
指针
的关系
在刚刚接触到
数组
与
指针
时,我想最常苦恼的
问题
就是
数组
名
与
指针
之间有什么关系了吧。但是他们两者之间真的有什么数不清道不明的关系吗?答案无疑是否定的!接下来就让我们来一探究竟吧! 首先我们需要了解...
数组
名
是不是
指针
?
而许多的大学老师,他们在C语言的教学过程中也错误得给学生讲解:"
数组
名
就是
指针
"。很幸运,我的大学老师就是其中之一。时至今日,我日复一日地进行着C/C++项目的开发,而身边还一直充满这样的程序员,他们保留着...
数组
名
和
指针
的区别
比如,把
一个
指针
当成
数组
来使用,或者是把
数组
名
赋
值
给
指针
,通过
指针
来访问
数组
成员
变量
,但是,
数组
名
和
指针
之间到底有什么样的联系与区别,以及什么情况下该使用
指针
,什么情况下该使用
数组
名
,我对这个做
一个
...
C语言
69,369
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章