2013年4月27日

摘要: 转载:http://www.cnblogs.com/zjp8023/archive/2008/12/28/c01.html一般的数组初始化,也就是申请数组的时候我们就初始化,1.char buffer[1000] = {0}; //一般的话,我们只将数组初始化为0,然后再使用.C++中,编译器会把第一个初始化值赋给数组的第一个元素,然后用0赋值给其余的元素.2.char buffer[] = {1,2,3,4,5,6}; 数组会自动计数,我们不用指定数字,以免画蛇添足反而出错。3.char buffer[1000];memset(buffer,10,sizeof(buffer)),对于有特殊需 阅读全文
posted @ 2013-04-27 13:02 江在路上 阅读(396) 评论(0) 推荐(0) 编辑
 
摘要: 当初始化值的个数少于数组元素个数时,前面的按序初始化相应值,后面的初始化为0(全局或静态数组)或为不确定值(局部数组).上面的资料是C和C++语言的标准规范,但实际编译器处理时,可能会和规范有所不同.因为编译器原则上要遵从语言规范,但对于局部数组的不确定值到底是多少,怎么处理,编译器就可以灵活处理.我测试了三种编译器,其实编译器赋予的值是固定的,都是0. 一直以为inta[256]={0};是把a的所有元素初始化为0,inta[256]={1};是把a所有的元素初始化为1.调试的时查看内存发现不是那么一回事,翻了一下《TheC++ProgrammingLanguage》总算有定论。PDF的.. 阅读全文
posted @ 2013-04-27 12:47 江在路上 阅读(745) 评论(0) 推荐(0) 编辑