| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1137 人关注过本帖
标题:数组指针指向问题! 求解惑!
只看楼主 加入收藏
朔源
Rank: 1
等 级:新手上路
帖 子:105
专家分:4
注 册:2015-9-22
收藏
得分:0 
各位大侠的讲解真让我这刚开学的小虾开眼界。
其实我真的很晕!!!
如边小白大侠说的定义变量的顺序不变。运行结果应是不变的。。我运行了很多次。都一样。
最后总结:程序分配内存 a[0] 到 a[9] 。再把首地址赋给指针变量 p 。再赋给变量 i 地址(address:0x0012FF78 )也就是a[10]。(其实a[10]并不存在。)
          只是我认为a[10]在“掉坑里”了。scanf() 运行后 p 越界了,跑 a[9] 后面的地址上去了。也就是系统给变量 i 分配的地址上。其实就是 i 和a[10]共用的一个内存地址了(我这样理解。不知道这样理解对还是错)。如果 p++ 没去掉,那么自然是a[9]以后的十个单位内的垃圾值了。除非把指针 p 返回首位置。
2015-11-01 13:15
朔源
Rank: 1
等 级:新手上路
帖 子:105
专家分:4
注 册:2015-9-22
收藏
得分:0 
(再赋给变量 i 这句打错了)。是再分配内存单位给变量 i 。
2015-11-01 13:17
快速回复:数组指针指向问题! 求解惑!
数据加载中...
 
   



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

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