| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 873 人关注过本帖
标题:有关指向一维数组的指针变量
只看楼主 加入收藏
此夜望月
Rank: 2
等 级:论坛游民
帖 子:55
专家分:43
注 册:2012-12-29
收藏
得分:5 
首先,你应该知道“数组名”单独使用是什么意思,他的意思是代表了该数组的第一个数,也就是说a在你的程序中代表的是a[0]。其次,指针变量在未加上*号的时候,给它赋值是一个给它地址的过程(简单说,就是把某变量的地址告诉指针),所以在第一个函数中,&a 等价于 &a[0]。接着,二维数组的数组名不再是a了,他应该是a[2](方括号中是某个常数,这里只是用2来表示而已)所以二维数组a[2]表示a[2][0]的值(取数组的第一个值),而在二维数组中直接用a,它代表的是a[0],但a[0]并不是数组的某一个值,它是a[0][0]的地址。相关内容在教科书中应该有详解,我这里再提供一个记住指针和数组关系的小窍门。记住,在多维数组中,少一个方括号,就相当于少了一个指针的*号。
2013-01-20 22:43
此夜望月
Rank: 2
等 级:论坛游民
帖 子:55
专家分:43
注 册:2012-12-29
收藏
得分:0 
以下是引用Johnsonzhen在2013-1-20 22:02:54的发言:

因为一个数组是a[4](一维),另一个是a[3][4](二维),对于一维数组a[4]中的a 代表的a的首地址,也可以说是&a[0],但是&a这时就该数组的地址;对于二维数组a[3][4]中a 代表a[0](a[0]这时是数组地址而不是元素的地址);如果用(*p)[4]指向一维数组的话,必须指向数组的地址,而不是元素地址。假设你用的指针p而不是(*p)[4]的话,就可以p=a(a[4]中的a),p=&a[0](a[3][4]中的);因为p需要元素地址。  就像7楼列举的。
                         我是这样理解的,不知道别人,希望帮到你!
这个是正解
2013-01-20 22:45
pile
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2013-1-20
收藏
得分:0 
回复 10楼 Johnsonzhen
哦~~~原来如此
谢了大神
2013-01-21 12:47
Johnsonzhen
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:41
专家分:108
注 册:2013-1-19
收藏
得分:5 
回复 13楼 pile
不客气~
2013-01-21 16:15
快速回复:有关指向一维数组的指针变量
数据加载中...
 
   



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

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