C++ 数组

定义不固定大小的字符时,可以使用 vector(向量) 标准库。

Vector(向量): C++ 中的一种数据结构,确切的说是一个类。它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间的目的。

用法:

1.文件包含:

首先在程序开头处加上 #include<vector> 以包含所需要的类文件 vector

还有一定要加上 using namespace std;

2.变量声明:

2.1 例: 声明一个 int 向量以替代一维的数组: vector <int> a; (等于声明了一个 int 数组 a[],大小没有指定,可以动态的向里面添加删除)。

2.2 例: 用 vector 代替二维数组.其实只要声明一个一维数组向量即可,而一个数组的名字其实代表的是它的首地址,所以只要声明一个地址的向量即可,即: vector <int *> a 。同理想用向量代替三维数组也是一样,vector <int**>a; 再往上面依此类推。

3.具体的用法以及函数调用:

#include <iostream>
#include <vector>
using namespace std;
 
int main() {
   // 创建向量用于存储整型数据
   vector<int> vec; 
   int i;

   // 显示 vec 初始大小
   cout << "vector size = " << vec.size() << endl;

   // 向向量 vec 追加 5 个整数值
   for(i = 0; i < 5; i++){
      vec.push_back(i);
   }

   // 显示追加后 vec 的大小
   cout << "extended vector size = " << vec.size() << endl;

   return 0;

 

静态 int array[100];  定义了数组 array,并未对数组进行初始化

静态 int array[100] = {1,2}; 定义并初始化了数组 array

动态 int* array = new int[100]; delete []array; 分配了长度为 100 的数组 array

动态 int* array = new int[100]{1,2}; delete []array; 为长度为100的数组array初始化前两个元素

数组初始化时可以用聚合方法,但是赋值时候不可以用聚合方法

合法

int array[] = {5,10,20,40};

不合法

int array[];

int main()
{
  array[] = {5,10,20,40};
  return 0;
}

 

 

 

 

 

 

 

 


版权声明:本文为weixin_41937674原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。