| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1158 人关注过本帖
标题:关于数组指针的一个问题
只看楼主 加入收藏
果沫
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:198
专家分:960
注 册:2013-1-30
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:21 
关于数组指针的一个问题
char a[3]={'w','d','\0'};
char (*p)[3]=&a;
当我定义这么一个数组指针时,我发现输出的*p并不是数组内的元素,而且当我定义一个新指针char *p2=*p;这样编译也不会出错,但是char *p2=p;又不行,但是%p输出p也是输出一段和%p输出*p一样的地址,而且%c输出*p和p也是同样的一个乱码= =,解释下上一段中*p是什么p又是什么吧,为啥会这样

[ 本帖最后由 果沫 于 2013-2-12 00:08 编辑 ]
搜索更多相关主题的帖子: 元素 
2013-02-12 00:07
清微御宇
Rank: 6Rank: 6
来 自:开封
等 级:侠之大者
威 望:2
帖 子:318
专家分:497
注 册:2012-1-15
收藏
得分:0 
学习了!

[ 本帖最后由 清微御宇 于 2013-2-12 15:31 编辑 ]

Stay hungry , Stay foolish!
2013-02-12 00:21
hanlinxuea
Rank: 2
等 级:论坛游民
帖 子:4
专家分:20
注 册:2013-2-12
收藏
得分:0 
int a[10];
int *p=a;
大家都知道*p是指针一个int型数据的指针,而这里我们真的把一个数组(a指向了一个数组)赋值给了p么?
请允许我纠正下你上面的话。应该说 指针p指向了数组a的首地址。这样多好理解。并不是赋值。
2013-02-12 01:43
hanlinxuea
Rank: 2
等 级:论坛游民
帖 子:4
专家分:20
注 册:2013-2-12
收藏
得分:0 
char a[3]={'w','d','\0'};
char (*p)[3]=&a;
(*p)[3]是个行指针,这样赋值?第一次见。今天刚学了字符串数组。也不知道那对不对
2013-02-12 01:48
果沫
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:198
专家分:960
注 册:2013-1-30
收藏
得分:0 
其实就是想问下p和*p得值到底是啥
2013-02-12 18:56
心灯甚亮
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:441
专家分:996
注 册:2013-1-29
收藏
得分:5 
二级指针和指针而已 手机打字慢 等大侠给你详细说吧
2013-02-12 19:11
心灯甚亮
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:441
专家分:996
注 册:2013-1-29
收藏
得分:0 
楼主其实是声明了一个有三个元素的数组 数组每个元素都是char*类型
2013-02-12 19:43
心灯甚亮
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:441
专家分:996
注 册:2013-1-29
收藏
得分:0 
p是这个数组的首元素         由于手机上船数据限制 继续盖楼^
2013-02-12 19:45
心灯甚亮
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:441
专家分:996
注 册:2013-1-29
收藏
得分:0 
额 错了 *p是数组首元素 类型是char* p是数组首个元素的地址 类型是char**
2013-02-12 19:50
心灯甚亮
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:441
专家分:996
注 册:2013-1-29
收藏
得分:0 
还有 这是指针数组 不是数组指针
2013-02-12 20:02
快速回复:关于数组指针的一个问题
数据加载中...
 
   



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

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