[关闭]
@songying 2019-01-27T19:55:37.000000Z 字数 796 阅读 862

c++ 数组

STL


操作

操作 说明
type arrName[arrSize]; 声明数组,其中 darrSize 必须为常量表达式,且必须大于0
type arr[] = {val1, val2}; 显式初始化,未指明维度,编译器根据初始值数量推测
type arr[dim] = {val1, val2}; 显式初始化,指明维度,未初始化的元素默认初始值

1. 定义与初始化

  • 定义数组时,必须指定数组的类型, 不允许使用auto关键字
  • 默认情况下,数组的元素被默认初始化
  • 数组的元素应为对象,不能为引用
  • 数组不允许拷贝和赋值

2. 多维数组

  1. type name[size1][size2]...[sizeN];
  2. /* 初始化 */
  3. int a[3][4] = {
  4. {0, 1, 2, 3} , /* 初始化索引号为 0 的行 */
  5. {4, 5, 6, 7} , /* 初始化索引号为 1 的行 */
  6. {8, 9, 10, 11} /* 初始化索引号为 2 的行 */
  7. };
  8. int a[3][4] = {0,1,2,3,4,5,6,7,8,9,10,11};

3. 数组指针

数组名是一个指向数组中第一个元素的常量指针

  1. double balance[50];
  2. *(double + 4) 等价于访问 double[4]

4. 传递数组给函数

C++ 将数据传递给函数时, 数组类型会自动转化为指针类型,因此实际传递的是地址,有三种方式来声明函数形参。

  1. type func_name( type *val_name){
  2. // 函数体
  3. }
  1. type func_name( type val_name[10] ){
  2. // 函数体
  3. }
  1. type func_name( type val_name[] ){
  2. // 函数体
  3. }

5. 函数返回数组

C++ 不允许返回一个完整的数组作为函数的参数,但你可以返回一个指向数组的指针

  1. type * func_name(){
  2. // 函数体
  3. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注