标题:二维数组指针的问题
只看楼主
a14290719
Rank: 1
等 级:禁止发言
帖 子:39
专家分:0
注 册:2010-7-13
结帖率:58.33%
已结贴  问题点数:1 回复次数:2 
二维数组指针的问题
提示: 作者被禁止或删除 内容自动屏蔽
2011-11-26 12:59
cosam
Rank: 4
等 级:业余侠客
帖 子:146
专家分:259
注 册:2011-8-25
得分:1 
http://colinhouyuejun.blog.
2011-11-26 15:24
ttkx888
Rank: 1
等 级:新手上路
帖 子:45
专家分:3
注 册:2009-6-6
得分:1 
回复 楼主 a14290719
一,p=&a[2];// 相当于把把把a[2][0]的地址赋值给了(*p) 也就是等于(*p)=&(a[2][0])相当于第数组a第三行的首地址交给了*p来保存,(*p)[0]处的数值就等于a[2][0]处的数值了。

二,int p[4]=a;//p[4] 相当于定义了一个整形数组P 他有四个元素p[0] p[1] p[2] p[3],同时把数组a的首地址赋值给指针P 相当于&(p[0])=&(a[0][0])
  
 你可以把int (*p)[4]=a; 看作成以下代码你就懂了

  int b;
 *p=&b;
int(*p)[4]也就=int b[4],*p只是=于一个四字节的地址,(*p)[0]等于数组A的第一个元素,同理(*p)[1]就等于数组A的第二个元素了
2011-11-26 16:43



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




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

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