|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 关于指向一维数组的指针的小问题
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
1449
人关注过本帖
标题:
关于指向一维数组的指针的小问题
取消只看楼主
加入收藏
邹特强
等 级:
论坛游民
帖 子:123
专家分:85
注 册:2016-9-21
结帖率:
85.71%
楼主
收藏
已结贴
√
问题点数:10 回复次数:5
关于指向一维数组的指针的小问题
定义一个指向一维数组的指针,int(*p)[4],已经让其指向一个一维数组,那么请问能进行以下运算吗:
(*p)++,*p=*p+1,
编译显示这两个语句错误,为什么?难道其指向一个数组后就是常指针,不能再被赋值以及自增
2017-02-12 16:18
举报帖子
使用道具
赠送鲜花
邹特强
等 级:
论坛游民
帖 子:123
专家分:85
注 册:2016-9-21
第
2
楼
收藏
得分:0
回复 2楼 kin3z
多谢你的答复,但您的看法不对吧,(*p)[4]本来的定义是指向包含四个元素的一维数组,您所说的指向二维数组,比如str[4][4],您所说的指向二维数组实际不准确,应该是指向str[i],i=0,1,2,3,其实是就是指向一维数组,并且我的书上有这样一段代码:
int a[4]={1,3,5,7};
int(*p)[4];
p=&a;
printf("%d\n",(*p)[3]);
不信您可以自己运行下,所以问题应该不在这
............
2017-02-12 19:35
举报帖子
使用道具
赠送鲜花
邹特强
等 级:
论坛游民
帖 子:123
专家分:85
注 册:2016-9-21
第
3
楼
收藏
得分:0
回复 4楼 kin3z
您的程序自己没有运行过吗,我试了下,出现了警告,说是不匹配的指针类型,问题就在p=*p+1,等式右边是列指针,是a[1]的地址,而等式右边是行指针,是指向整个一维数组的。并且,如果说我说的p指向一个一维数组后就是常指针,怎么能进行赋值???
............
2017-02-13 15:25
举报帖子
使用道具
赠送鲜花
邹特强
等 级:
论坛游民
帖 子:123
专家分:85
注 册:2016-9-21
第
4
楼
收藏
得分:0
回复 5楼 吹水佬
所以我提出的语句错误原因到底是什么,p是常指针吗???请正面回答
............
2017-02-13 15:26
举报帖子
使用道具
赠送鲜花
邹特强
等 级:
论坛游民
帖 子:123
专家分:85
注 册:2016-9-21
第
5
楼
收藏
得分:0
回复 8楼 rjsp
哈哈,谢了,你说这个我突然想通了,我原来的问题就不用回答了。就是还想问:p++可以吗???
............
2017-02-13 16:31
举报帖子
使用道具
赠送鲜花
邹特强
等 级:
论坛游民
帖 子:123
专家分:85
注 册:2016-9-21
第
6
楼
收藏
得分:0
回复 10楼 吹水佬
嗯,版主对p的解释很到位,谢了
............
2017-02-14 14:48
举报帖子
使用道具
赠送鲜花
6
1/1页
1
快速回复:
关于指向一维数组的指针的小问题
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.035586 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved