c/c++数组的初始化
2009-06-01 15:35
267 查看
我们经常声明一个数组就直接引用它 这样经常导致内存错误
一般数组的初始化有如下集中方式:
1.int a[10] = {0}; 或者 char a[10] = {0}; //将数组每一项初始化为0
2.char a[10] = "abcedddddd"; //用一个字符串常量去初始化字符数组
注意: a[10] = "abcd"; //当字符常量长度不够时 数组的其他元素初始化为 'a'
3. 数组初始化 数组可以用一个列值来初始化,例如 int v1[] ={1,2,3,4}; char v2[]={'a','b','c',0}; 当数组定义时没有指定大小,当初始化采用列表初始化了,那么数组的大小由初始化时列表元素个数决定。所以v1和v2分别为 int[4] 和char[4]类型。如果明确指定了数组大小,当在初始化时指定的元素个数超过这个大小就会产生错误。例如: char v3[2] ={'a','b',0}; //错误:太多的初始化值了 char v3[3] ={'a','b',0}; //正确如果初始化时指定的的元素个数比数组大小少,剩下的元素都回被初始化为 0。例如 int v5[8]={1,2,3,4}; 等价于 int v5[8]={1,2,3,4,0,0,0,0};
引用:http://www.cnblogs.com/zl450296530/archive/2008/11/06/1328199.html
一般数组的初始化有如下集中方式:
1.int a[10] = {0}; 或者 char a[10] = {0}; //将数组每一项初始化为0
2.char a[10] = "abcedddddd"; //用一个字符串常量去初始化字符数组
注意: a[10] = "abcd"; //当字符常量长度不够时 数组的其他元素初始化为 'a'
3. 数组初始化 数组可以用一个列值来初始化,例如 int v1[] ={1,2,3,4}; char v2[]={'a','b','c',0}; 当数组定义时没有指定大小,当初始化采用列表初始化了,那么数组的大小由初始化时列表元素个数决定。所以v1和v2分别为 int[4] 和char[4]类型。如果明确指定了数组大小,当在初始化时指定的元素个数超过这个大小就会产生错误。例如: char v3[2] ={'a','b',0}; //错误:太多的初始化值了 char v3[3] ={'a','b',0}; //正确如果初始化时指定的的元素个数比数组大小少,剩下的元素都回被初始化为 0。例如 int v5[8]={1,2,3,4}; 等价于 int v5[8]={1,2,3,4,0,0,0,0};
引用:http://www.cnblogs.com/zl450296530/archive/2008/11/06/1328199.html
相关文章推荐
- C++语法 初始化列表 数组引用
- 【C&C++】数组初始化的思考
- C++中数组初始化
- c++ :vs2013 类内数组初始化问题
- c++数组初始化
- C++程序员学Java系列之十二:一维数组定义,初始化,遍历,最值及异常
- C++数组初始化的误解
- 需要定义一个变量数组,但是C++ 数组无法用变量初始化,解决方案
- C++中数组定义及初始化
- C++中数组初始化的方法级不同方法之间的差别
- 关注C++细节——字面值初始化字符数组及字符串拷贝注意
- C++ 初始化数组为负无穷
- C++中数组声名后不初始化,数组里的值都是0吗?
- 【C++】别再用memset初始化int数组了,用fill或者fill_n靠谱多了
- c/c++ int数组初始化/重置为0
- char*动态数组用c++ifstream和ofstream进行文件读写并用memset初始化
- C++ 初学者指南 第四篇(7)数组的初始化
- C++ 之 Vector(容器)初始化高维数组
- C++数组初始化的问题
- C++ 与“类”有关的注意事项总结(十):类对象数组初始化(三种方法)