共有回帖数 0 个
-
有这样一个程序
#includeiostream
using namespace std;
int main()
{
char city[11];
cin.getline(city,10);
cout"城市名"cityendl;
}
其中char city[11]在这个程序中有什么含义?在运行程序的过程中发现[]中的数字只要是大于0的数字对程序的运行和结果都没有影响,而且结果总是一样。
程序中定义了一个city[11]数组,证明其中有11个元素,为什么下面不能city[0],city[1],一直一个一个输出到city[10],然后分别限制每个数组元素的长度呢?编译的时候总是出现一个错误。求各位大神耐心帮我解答 谢谢啦
ity[11]表示从city开始之后的11个Byte都是city 的内存空间,其他变量就不会再占用了。
city[1] 只给city分配了1Byte的内存空间,但是后面的内存空间还是可以访问(读写)的,但是你不知道后面的空间有没有其他变量在使用,如果空闲的,city用了就用了,程序也不会出问题,但如果有其他变量在使用,你把这块内存修改了,结果可想而知,或者你用了这块空间,但是同时有新的变量来使用这块空间,把你的数据修改了,结果又可想而知。
说这么多,不知道你能不能懂
楼主 2015-06-27 22:14 回复
Copyright © 2010~2015 直线网 版权所有,All Rights Reserved.沪ICP备10039589号
意见反馈 |
关于直线 |
版权声明 |
会员须知