| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 873 人关注过本帖
标题:有关指向一维数组的指针变量
只看楼主 加入收藏
pile
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2013-1-20
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:13 
有关指向一维数组的指针变量
    int a[4]={1,3,5,7};
    int (*p)[4];
    p=&a;         //为什么这里要用“&”   ?
    printf("%d\n",(*p)[3]);



    int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23};
    int (*p)[4];
    p=a;          //而为什么这里又不用“&”  ?
    printf("%d",*(*(p+1)+2));

坐等各大神回复
2013-01-20 15:13
XQwindow
Rank: 2
等 级:论坛游民
帖 子:121
专家分:64
注 册:2013-1-1
收藏
得分:0 
代码能编译通过吗

我不知道我能否当程序员,但我依然热爱编程!
2013-01-20 16:49
feiei
Rank: 2
来 自:河北省石家庄
等 级:论坛游民
帖 子:41
专家分:37
注 册:2012-9-15
收藏
得分:0 
取得是数组首地址

小白初来。求各种罩。。。。
2013-01-20 17:58
pile
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2013-1-20
收藏
得分:0 
回复 2楼 XQwindow
可以的
这是书上的例题
2013-01-20 19:37
pile
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2013-1-20
收藏
得分:0 
回复 3楼 feiei
那为什么上面那个还要用 & 呢?
a不是首地址吗?
2013-01-20 19:39
Johnsonzhen
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:41
专家分:108
注 册:2013-1-19
收藏
得分:0 
回复 5楼 pile
a是数组的首地址,&a是数组本身的地址!
2013-01-20 19:41
pile
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2013-1-20
收藏
得分:0 
回复 6楼 Johnsonzhen
好像不太懂......
大神可以举例说明一下吗?
那下面的为什么不用&?
2013-01-20 20:06
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9024
专家分:54030
注 册:2011-1-18
收藏
得分:0 
a的类型是 int[4]
&a的类型是 int(*)[4]

a的类型是 int[3][4]
2013-01-20 20:10
pile
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2013-1-20
收藏
得分:0 
回复 8楼 rjsp
大神,还是不懂啊
都是定义为int (*p)[4];的
但为什么一个有&一个没&呢?

2013-01-20 20:18
Johnsonzhen
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:41
专家分:108
注 册:2013-1-19
收藏
得分:10 
回复 9楼 pile
因为一个数组是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:02
快速回复:有关指向一维数组的指针变量
数据加载中...
 
   



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

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