int*a的*a不是代表指针a只向地址的值吗?比如i=4,a=&i,那么*a=i=4吗?那么下面的*a或*(a...)怎么是地址

 我来答
spartan90
2012-07-27
知道答主
回答量:2
采纳率:0%
帮助的人:2.9万
展开全部
首先你要知道你这张表对应的是二维数组,数组和指针有着密切的联系,但有本质上的区别。

先说数组,数组在计算机的内存上开辟了一段内存,其大小取决于数组声明的类型。(这个你懂吧,)这个内存的首地址就是数组的名字 。如一维数组 int a【10】 开辟了十个内存单元用来存放十个int型。这个数组会有一个首地址,它就是a的值。
对于二维数组而言 int a【10】【10】,你可以把它看成10行10列的矩阵,我们也常说它是数组的数组。a也是这个数组的首地址, 而a【0】 是第一行的首地址(我想你的问题在这里),而&a【0】【0】才是0行0列元素的地址。这三个地址的值是一样,但它却有着不同的含义。表格和一楼都说错了。
编译器是这样工作的,声明二维数组时,在第一维【n1】的后面放置【n2】,编译器就会创建一个大小为n1的数组,他的每个元素是一个大小为n2的数组。而数组的名称就是他的地址。 a【0】 就是在引用一个子数组的地址。因为它是子数组a行的名称。
指针和数组最大的区别在于:可以改变指针包含的地址,但不能改变数组名称引用的地址。所以我们可以用指针遍历整个数组。

说的不好的请多指教,共同学习。
建议你看 ivor horton 写的 C语言入门经典这本书。国际权威。他是世界的谭浩强。写的要比国内的著作好很多。如果你旨在学懂而非应试,建议你看这个。
情漫都市
2012-07-27 · TA获得超过200个赞
知道小有建树答主
回答量:70
采纳率:0%
帮助的人:61.4万
展开全部
首先你得承认,指针是个又难又简单的问题,也许一个JAVA高手,都不一定理解指针;
理解的人,指针问题可以触类旁通,不理解,迷雾重重。。。
首先给你讲一下为什么有指针的存在? 在计算机存储中,每一个内存单元都有一个地址值,就像你家房子有个门牌号,它是自然存在的,否则这个存储单元就是孤立的。通过指针,进行取指操作,就可以访问你和你的家人。。。有了门牌号(指针),我就几乎不用问别人,可以顺势找到你家,道理很简单吧。那接下来就题论题。
a 是二维数组名,涉及到二级指针,就相当于我用有个门牌号,记录了你家的门牌号,那我拥有的门牌号就是二重门牌号,而第二段讲的指针就是一级指针,就是我直接知道你家的门牌号。
既然a是一个二级指针,那么a[n]的内容就是一级指针,也就是地址值,例如:a[0],0行地址,也是0行的第0个元素的地址,换句话,也可以说a[0]是0行0列地址。这里面还有个比较令人苦恼的问题,就是a的值是2000,a[0]的的值也是2000,那么&a[0][0]的值也会是2000,实际它们一样是必然的,因为它们的值的都和数组的第0个元素有关,但辈分不一样,所以取第0个元素过程不一样,**a==*a[0]==a[0][0].
我已经尽力深入浅出了,若还是不能理解,多想想,时间长了自然就明白了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
望桖柳0gy421
2012-07-27
知道答主
回答量:11
采纳率:0%
帮助的人:4万
展开全部
数组的a【】的a 是数组名 也代表该数组的 地址所以*a 就是取出该数组第一个 地址的值 如果是二维当然 a【i】【i】 a【i】 就是a【i】行的首个数值的地址 那么*a【i】同样是取出该 数的值 a因为是地址 所以(a+1) 就是该数组下一个数值的 地址 *(a+1)同样也是取值。。。 int *a 的*只是定义 a是一个指针 在单独使用的时候是 类似于取出该地址的值的 作用。。。希望我说的对你能有帮助。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
歪瑞顾K
2012-07-27 · TA获得超过2906个赞
知道大有可为答主
回答量:2731
采纳率:33%
帮助的人:2264万
展开全部
第二行,第二列。0行0列元素地址。错误!应该是“0行0列的值”

书不一定正确,能发现书的错误,并且很确定它是错的。那你就牛B了,目前看来你需要提高啊
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhyntc
2012-07-27 · TA获得超过475个赞
知道小有建树答主
回答量:369
采纳率:100%
帮助的人:360万
展开全部
a声明得不一样,你不把a的声明贴出来谁知道是什么东西
照这张图推算 ,a应该是二维数组,里面存的是指针,就是一个指向指针的指针
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式