标题:关于二维数组的问题
取消只看楼主
qianle
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2006-10-11
 问题点数:0 回复次数:5 
关于二维数组的问题

我是个新手,有个问题让我很困惑,请老鸟帮忙指点指点。
假如a是一个二维数组的名字的话,我们知道a 就是这个二维数组的首地址,我们知道首元素的值为a[0][0],而*a[0]也是首元素的值,而a==a[0]。这样的话,那是不是说*a==*a[0]==a[0][0],而且*a==a[0],**a==a[0][0];这样的话就会有*a==a;如果a==*a成立,那么是不是可以说*a==**a;我们知道*a是地址,是a[0],而**a是首元素的值。显然*a!=**a,但前面的推断又让它成立了,所以这点我很困惑,各位老鸟帮帮我这个菜鸟吧!~谢谢啦!!

搜索更多相关主题的帖子: 元素 困惑 推断 
2006-12-11 19:16
qianle
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2006-10-11
得分:0 

a、a[0]、*a表示的是这个二维数组的首地址
即a==a[0]==*a//就是这里了,是不是可以说a==*a呢?那是不是可以进一步说*a==**a?
a[0][0]、*a[0]、**a表示的是这个二维数组第一个元素的值
即a[0][0]==*a[0]==**a

所以
*a!=*a[0]

*a!=a[0][0],

*a[0]==a[0][0]

如果还不清楚,最好自己写个程序试试看哦! 加油

2006-12-12 04:52
qianle
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2006-10-11
得分:0 
有没有人可以告诉我c的数组的存贮机制是怎么回事啊?
2006-12-12 04:55
qianle
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2006-10-11
得分:0 

即a==a[0]==*a//就是这里了,是不是可以说a==*a呢?那是不是可以进一步说*a==**a?
那么a==*a还是成立的了!那这样说的话只能a里面存放的是他自己的地址了?那******a不管*多少次那还是a啊!而不可能==a[0][0]。
如果a==a[0]==*a,而a!=*a。那么==到底是比较两边的什么呢?地址?值?还是其他什么?
假如一个int数组a[1][1],那它到底占多少内存空间呢?能不能介绍下它的存储机制是什么?

2006-12-13 19:55
qianle
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2006-10-11
得分:0 

哦~不知道指针还有这样的区分。谢谢啦~~~~~~~

2006-12-14 15:14
qianle
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2006-10-11
得分:0 

那个我知道的!恩,谢谢~

2006-12-15 10:32



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-108865-1-1.html




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

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