低级符合类型:数组、指针
数组的长度是固定的。数据一经创建,就不允许添加新的元素。指针可以向迭代器一样便利和检查数组中的元素。现在C++程序应尽量使用vector和迭代器类型,而避免使用低级的数组和指针。与使用标准的vector类型的程序相比,依赖于内置数组的程序更容易出错而且难于调试。
注意:数组定义中的类型名可以是内置数据类型或类类型;除引用之外,数组元素的类型还可以是任意的符合类型。没有所有元素都是引用的数组。
1.数组的定义和初始化
数组的维数必须要用大于等于1的常量表达式定义。此常量表达式只能包含整形字面值常量,枚举常量或者用常量表达式初始化的const对象,非const变量以及要到运行阶段才知道其值的const变量都不能用于定义数组的维数。
(1)显式初始化数组元素
const unsigned size = 3; int arr[size] = {0,1,2};
如果没有显式提供元素初值,则数组元素会像普通变量一样初始化。
在函数体外定义的内置数组,其元素均初始化为0;
在函数体内定义的内置数组,其元素无初始化;
不管数组在哪里定义,如果其元素为类类型,则自动调用该类的默认构造函数进行初始化;如果该类没有默认构造函数,则必须为该数组的元素提供显式初始化。
显示初始化的数组不需要指定数组的维数值,编译器会根据列出的元素个数来确定数组的长度:
int ia[] = {0,1,2};//数组长度为3
如果指定了数组的长度,那么初始化列表提供的哦元素个数不能超过数组维数值。
(2)特殊的字符数组
char ca1[] = {'c','+','+'}; //维数是3 char ca2[] = {'c','+','+','\0'}; //维数是4 char ca3[] = "c++"; //维数是4
(3)不允许数组直接复制和赋值
与vector不同,一个数组不能用另外一个数组初始化,也不能将一个数组赋值给另一个数组,这些操作都是非法的。
(4)数组的操作
数组可以用下标符来访问,数组元素也是从0开始计数。对于一个包含10个元素的数组,正确的下标值是从0到9,而不是1到10
数组下标的类型是size_t。
const size_t array_size = 10; int ia[array_size]; for(size_t ix = 0;ix!=array_size;++ix) ia[ix] = ix;
相关推荐
c++数组练习题及答案。本套练习题包含了数组的各方面知识,题型包括判断题 填空题,编程题等
c++数组方面的知识,不错的函数;可以参考着用
C++数组与指针深入剖析C++数组与指针深入剖析C++数组与指针深入剖析C++数组与指针深入剖析
C++数组元素位置的查找程序,对学习数组有一定的帮组
通过c++数组实现的趣味小游戏,完美增加学习兴趣
该文档给出了两个c++数组实例,有代码,是不错的C++学习资料!
数组的使用一直是C++学习的难点所在,本资源对C++数组的原理和用法进行了详细介绍,有利于c++的学习,是非常有用的学习资源。
C++数组的模版实现代码,实现双下标重载的Matrix
C++数组指针题含答案.doc
c++实现的vector的数组中是否存在某元素和查找该元素的迭代器的函数
c++降维处理与一维数组的区别,在调用时的差异
c++数组教程c++数组教程c++数组教程c++数组教程c++数组教程c++数组教程c++数组教程c++数组教程c++数组教程c++数组教程c++数组教程c++数组教程c++数组教程c++数组教程c++数组教程c++数组教程c++数组教程c++数组教程...
C++数组与指针对象数组对象指针C++数组与指针对象数组对象指针
c++数组求平均数函数 c+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++...
指针是C/C++语言的特色,而数组名与指针有太多的相似,甚至很多时候,数组名可以作为指针使用。于是乎,很多 程序设计者就被搞糊涂了。而许多的大学老师,他们在C 语言的教学过程中也错误得给学生讲解:“数组名就是...
《C++数组》习题.pdf《C++数组》习题.pdf《C++数组》习题.pdf《C++数组》习题.pdf《C++数组》习题.pdf
//重载[],使Array可以起到普通C++数组的作用 operator T* (void)const; //重载T*,使Array可以起到普通C++数组的作用 int ListSize(void)const; //取数组的大小 void Resize(int sz); //修改数组大小 private: ...
c++数组指针函数等关键内容讲解 c++数组指针函数等关键内容讲解 c++数组指针函数等关键内容讲解
c++数组学习资料
数据结构c++ 数组和矩阵 【7】Chapter4 数组和矩阵