C++数组的用法
作者:互联网
数组的申明
静态数组
数组大小必须是常量,常量的形式可以是数值,const关键字修饰的变量,或者是宏定义
#define LEN 10
//一维数组
int arr1[10];
const int SIZE = 10;
int arr2[SIZE];
int arr3[LEN];
//二维数组
int arr4[3][4];
int arr5[SIZE][LEN];
动态数组
动态数组的大小不需要申明时就指定大小,可以通过动态内存分配
//一维数组
int len = 10;
int* ptr1 = new int[len];
//二维数组
int row = 3;
int col = 4;
int** ptr2 = new int* [row];
for (int i = 0; i < row; i++)
{
ptr2[i] = new int[col];
}
使用vector
vector底层是通过数组实现的,支持增删改查各种操作,最大的特点是数组大小可以不用一开始就指定同时还支持动态扩容
//一维vector
int sz = 10;
vector<int> vec1;
vector<int> vec2(10);
vector<int> vec3(sz);
//二维vector
vector<vector<int>> _vec1;
数组的初始化和赋值
//静态数组
int arr1[6]; //数组的值未定义
int arr2[6] = {1,2}; //数组前两位为1,2,后面的全为0
int arr3[6]; //数组的值等于它的下标
for (int i = 0; i < 6; i++)
arr3[i] = i;
cout << "打印静态数组" << endl;
print2(arr1, 6);
print2(arr2, 6);
print2(arr3, 6);
//动态数组
cout << "打印动态数组" << endl;
int* ptr1 = new int[6]{ 1,2 }; //数组前两位为1.2.后面的全为0
int* ptr2 = new int[6]; //数组的数为其下标
for (int i = 0; i < 6; i++)
ptr2[i] = i;
print2(ptr1, 6);
print2(ptr2, 6);
//二维数组
//静态数组
int _arr1[3][4]; //数组的值未定义
int _arr2[3][4] = { {1,2} ,{3} }; //数组第0行为1 2 0,0.第1行为3 0 0,0.第2行为0 0 0,0
int _arr3[3][4]; //数组第0行为0,1,2,3,。第1行为3,4,5,6.第三行为6,7,8,9
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 4; j++)
{
_arr3[i][j] = i * 3 + j;
}
}
cout << "打印二维静态数组" << endl;
print(_arr1, 3);
print(_arr2, 3);
print(_arr3, 3);
//动态数组
int row = 3;
int col = 4;
int** _ptr1 = new int*[row];
for (int i = 0; i < row; i++)
_ptr1[i] = new int[col];
for (int i = 0; i < row; i++)
{
for (int j = 0; j < col; j++)
_ptr1[i][j] = i * row + j;
}
cout << "打印二维动态数组" << endl;
print3(_ptr1, row, col);
//vector
vector<int> vec1; //空vector
vector<int> vec2{ 1,2 }; //vector大小为2,元素为1,2
vector<int> vec3(6,1); //vector大小为6.元素都为1
cout << "打印一维vector" << endl;
printVec1(vec1, 0);
printVec1(vec2, 2);
printVec1(vec3, 6);
cout << "打印二维vector" << endl;
vector<vector<int>> _vec1; //空vector
vector<vector<int>> _vec2{ {1,2},{3}};
vector<vector<int>> _vec3(3,vector<int>(4,1));
printVec2(_vec1);
printVec2(_vec2);
printVec2(_vec3);
运行结果
标签:10,int,C++,用法,++,vector,数组,vec1 来源: https://blog.csdn.net/Lc_summer/article/details/116756889