|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 关于指针指向数组问题
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
590
人关注过本帖
标题:
关于指针指向数组问题
只看楼主
加入收藏
wlesd
等 级:
新手上路
帖 子:28
专家分:0
注 册:2009-7-5
结帖率:
80%
楼主
收藏
已结贴
√
问题点数:10 回复次数:6
关于指针指向数组问题
小弟不明白的是在
一维数组的指针可以得到数组的第一个元素的内存地址,也可得到该地址的值
int a[3] = {1,2,3};
int *pa = a;
而二维数组怎么不可以呢。
int b[3][3] = {{1,2,3},{4,5,6},{7,8,9}};
int *pb = b;
printf("%p",b);
printf("%d",*b);
怎么实现*(b+1)是得到5这个值呢?
搜索更多相关主题的帖子:
内存
元素
2012-02-22 15:40
举报帖子
使用道具
赠送鲜花
cqm9266
来 自:福建
等 级:
论坛游侠
帖 子:174
专家分:186
注 册:2011-10-28
第
2
楼
收藏
得分:1
二维数组 指针指向的是第一行第一列的数字
如果要得到5 应该是 *(p+1)+1
没病的人说有病的人有病,有病的人说没病的人有病。到底是谁有病?
2012-02-22 15:49
举报帖子
使用道具
赠送鲜花
icysky
来 自:心灵世界
等 级:
职业侠客
威 望:
1
帖 子:172
专家分:399
注 册:2011-5-17
第
3
楼
收藏
得分:1
printf("%d\n",*(*(b+1)+1));
不管怎么走、总有一个终点...
2012-02-22 15:49
举报帖子
使用道具
赠送鲜花
慕羿
等 级:
业余侠客
帖 子:40
专家分:206
注 册:2012-2-16
第
4
楼
收藏
得分:1
你们试过没有?随口乱说?
*(b+3*1+1)
2012-02-22 19:37
举报帖子
使用道具
赠送鲜花
落红有情
等 级:
论坛游民
帖 子:11
专家分:27
注 册:2012-2-20
第
5
楼
收藏
得分:1
课本上的东西可以让你明白的,理解*运算符和[]运算符,实在还不知道,可以稍微学一点汇编,了解就可以了,个人观点!
2012-02-22 22:33
举报帖子
使用道具
赠送鲜花
于祥
等 级:
蒙面侠
威 望:
5
帖 子:1047
专家分:4132
注 册:2011-4-24
第
6
楼
收藏
得分:1
int b[3][3] = {{1,2,3},{4,5,6},{7,8,9}};
int *pb = b;
printf("%p",b);
printf("%d",*b);//*b是个地址,在二维数组中,要用两个星号**
“怎么实现*(b+1)是得到5这个值呢?”
//b是一个数组名是固定的值不能加1的,*(b+1)也还是个地址,不可能得到5的
最基础的往往是你最容易忽略的!
2012-02-22 22:56
举报帖子
使用道具
赠送鲜花
wlesd
等 级:
新手上路
帖 子:28
专家分:0
注 册:2009-7-5
第
7
楼
收藏
得分:0
谢谢各位大大的解释,小弟感激不尽,我会去在做研究。
2012-02-23 08:10
举报帖子
使用道具
赠送鲜花
7
1/1页
1
快速回复:
关于指针指向数组问题
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.016908 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved