@songying
2019-01-27T19:55:37.000000Z
字数 796
阅读 862
STL
操作 | 说明 |
---|---|
type arrName[arrSize]; |
声明数组,其中 darrSize 必须为常量表达式,且必须大于0 |
type arr[] = {val1, val2}; |
显式初始化,未指明维度,编译器根据初始值数量推测 |
type arr[dim] = {val1, val2}; |
显式初始化,指明维度,未初始化的元素默认初始值 |
- 定义数组时,必须指定数组的类型, 不允许使用auto关键字
- 默认情况下,数组的元素被默认初始化
- 数组的元素应为对象,不能为引用
- 数组不允许拷贝和赋值
type name[size1][size2]...[sizeN];
/* 初始化 */
int a[3][4] = {
{0, 1, 2, 3} , /* 初始化索引号为 0 的行 */
{4, 5, 6, 7} , /* 初始化索引号为 1 的行 */
{8, 9, 10, 11} /* 初始化索引号为 2 的行 */
};
int a[3][4] = {0,1,2,3,4,5,6,7,8,9,10,11};
数组名是一个指向数组中第一个元素的常量指针
double balance[50];
*(double + 4) 等价于访问 double[4]
C++ 将数据传递给函数时, 数组类型会自动转化为指针类型,因此实际传递的是地址,有三种方式来声明函数形参。
type func_name( type *val_name){
// 函数体
}
type func_name( type val_name[10] ){
// 函数体
}
type func_name( type val_name[] ){
// 函数体
}
C++ 不允许返回一个完整的数组作为函数的参数,但你可以返回一个指向数组的指针
type * func_name(){
// 函数体
}