| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 552 人关注过本帖
标题:小白自学 10.3.4 指向多维数组的指针和指针变量
只看楼主 加入收藏
龙魔
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2013-5-16
结帖率:80%
收藏
已结贴  问题点数:8 回复次数:9 
小白自学 10.3.4 指向多维数组的指针和指针变量
看的是谭浩强的书,不好理解
【例 10.22】
main(){
    int a[3][4]={0,1,2,3,4,5,6,7,8,9,10,11};
    printf("%d,",a);
    printf("%d,",*a);
    printf("%d,",a[0]);
    printf("%d,",&a[0]);
    printf("%d\n",&a[0][0]);
    printf("%d,",a+1);
    printf("%d,",*(a+1));
    printf("%d,",a[1]);
    printf("%d,",&a[1]);
    printf("%d\n",&a[1][0]);
    printf("%d,",a+2);
    printf("%d,",*(a+2));
    printf("%d,",a[2]);
    printf("%d,",&a[2]);
    printf("%d\n",&a[2][0]);
    printf("%d,",a[1]+1);
    printf("%d\n",*(a+1)+1);
    printf("%d,%d\n",*(a[1]+1),*(*(a+1)+1));
}

a和*a   a[0]和&a[0]
有什么关系???
书上说的不清楚,不能理解为什么等价
2013-08-24 15:03
awisebird_
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:82
专家分:185
注 册:2013-7-6
收藏
得分:1 
找个工具调试一下就知道了
图片附件: 游客没有浏览图片的权限,请 登录注册
2013-08-24 15:22
love云彩
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:青藏高原
等 级:贵宾
威 望:53
帖 子:3663
专家分:11416
注 册:2012-11-17
收藏
得分:1 
你连你要问的问题都描述不清楚

思考赐予新生,时间在于定义
2013-08-24 15:44
龙魔
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2013-5-16
收藏
得分:0 
回复love云彩

a和*a为什么等价

a[0]和&a[0]为什么等价
2013-08-24 15:58
longzhimeng
Rank: 1
等 级:新手上路
帖 子:11
专家分:6
注 册:2013-5-18
收藏
得分:1 
今天我也看到这里了,同求!
2013-08-24 16:29
我叫沃恩
Rank: 12Rank: 12Rank: 12
来 自:Asia
等 级:贵宾
威 望:10
帖 子:1234
专家分:3865
注 册:2013-3-29
收藏
得分:1 
a指向的是一维数组,*a指向的是列,它们的地址相同,你用的是第几版的书?

因为我是菜鸟,所以应该被骂! 细节+坚持=成功!
2013-08-24 18:01
hkcmd
Rank: 2
等 级:论坛游民
帖 子:37
专家分:46
注 册:2013-8-21
收藏
得分:1 
已经有awisebird_ 比较通俗的解释了。
不过我很想听听他的细解。
2013-08-25 16:38
lzj12530
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:264
专家分:841
注 册:2013-3-28
收藏
得分:1 
a是本数组的首地址,也本数组第一个元素的地址. 那么二维数组,首地址及a,&a[0][0].
而且也是第一行元素的首地址及&a[0],*a。
而对于数组本身*a == a[0]。所以这5个东西都是二维数组的首地址

C++菜鸟
2013-08-25 21:03
jg658237
Rank: 7Rank: 7Rank: 7
来 自:青藏高原
等 级:黑侠
帖 子:224
专家分:529
注 册:2013-8-8
收藏
得分:1 
其实说白了,a[0],&a[a],a,*a[0]都是一个意思,a代表数组的首地址,也本数组第一个元素的地址.
而且也是第一行元素的首地址及&a[0],*a。
而对于数组本身*a 代表指针所指向的元素的内容,而指针就是地址,

武功再高也怕菜刀.
2013-08-26 10:26
liufashuai
Rank: 9Rank: 9Rank: 9
来 自:冥界-魔域-魂殿
等 级:蜘蛛侠
威 望:1
帖 子:370
专家分:1374
注 册:2012-6-22
收藏
得分:1 
值一样,但是意思不一样,把这些理解清楚了,你对数组就清楚了

a是数组的首地址(这个数组里面内容是一维数组,因为a是二维数组)
a[0]是a这个数组的第一个元素,也是(a[0])[4]这个数组的首地址
*a 只得是a的第一个元素,即a这个数组的第一个元素大致可以理解为何a[0]一样的意思
&a[0]就是对a数组第一个元素求地址

这四个结果是一样的,因为它们是对同一位置的不同描述

有一种落差是,你配不上自己的野心,也辜负了所受的苦难。






2013-08-26 14:13
快速回复:小白自学 10.3.4 指向多维数组的指针和指针变量
数据加载中...
 
   



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

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