C++数组的用法
2021/5/13 20:27:21
本文主要是介绍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);
运行结果
这篇关于C++数组的用法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26UniApp 中如何实现使用输入法时保持页面列表不动的效果?-icode9专业技术文章分享
- 2024-11-26在 UniApp 中怎么实现输入法弹出时禁止页面向上滚动?-icode9专业技术文章分享
- 2024-11-26WebSocket是什么,怎么使用?-icode9专业技术文章分享
- 2024-11-26页面有多个ref 要动态传入怎么实现?-icode9专业技术文章分享
- 2024-11-26在 UniApp 中实现一个底部输入框的常见方法有哪些?-icode9专业技术文章分享
- 2024-11-26RocketMQ入门指南:搭建与使用全流程详解
- 2024-11-26RocketMQ入门教程:轻松搭建与使用指南
- 2024-11-26手写RocketMQ:从入门到实践的简单教程
- 2024-11-25【机器学习(二)】分类和回归任务-决策树(Decision Tree,DT)算法-Sentosa_DSML社区版
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享