C++提供了种类丰富的内置数据类型和用户自定义数据类型,本文主要记录C++中的数据类型,包括七种基本数据类型,以及指针、数组、枚举、结构体等复合数据类型

1. 数组的初始化
C/C++中数组的初始化方法多,规则也比较混乱,使用时容易出现错误。对数组进行初始化的方法通常有三种:初始化列表、memset()函数、for循环。
1.1 静态数组的初始化
| 1 | int arr_A[] = {1,2,3}; // 初始化列表,数组长度等于初始化列表长度 | 
NOTE:
- 初始化列表中元素的个数小于数组长度时,不足的元素补以默认值1 int arr_A[5]= {1}; // 等同于arr_A[5]={1,0,0,0,0} 
- 数组创建后不进行初始化,数组中的元素(全局数组和静态数组默认初始化为0)为随机值
- 对于数组不能进行赋值操作,只能对数组元素进行赋值。如果要将一个数组赋给另一个数组,可以采用循环赋值或者借助memcpy()函数
1.2 动态数组的初始化
动态数组的初始化遵循静态数组初始化的规则,除此之外,动态数组的初始化还有一种新的语法。
| 1 | int* pArr1 = new int[cnt]{0}; // 将动态数组初始化为0,需要调用delete[] pArr1进行内存释放 | 
1.3 二维数组的定义和初始化
静态二维数组
| 1 | int Arr_A[2][3] = { {1,2,3},{4,5,6} }; // 等同于int Arr_A[2][3]={1,2,3,4,5,6} | 
动态二维数组
| 1 | // 申请空间 | 
利用std::vector创建二维数组
| 1 | vector<vector<int>> arr(rows,vector<int>(cols)); |