21xrx.com
2025-04-06 02:36:58 Sunday
文章检索 我的文章 写文章
如何定义一个不知道长度的C++数组?
2023-07-02 12:09:57 深夜i     68     0
C++ 数组 长度 定义

在C++中,定义一个数组需要指定其长度。但是有些情况下,我们并不知道数组的长度,该怎么办呢?下面介绍两种方法:

1. 动态内存分配

使用动态内存分配可以在运行时分配一个数组,并在程序运行结束后再释放内存。利用new和delete关键字可以实现动态内存分配,代码如下:

int *arr;
int n;
cout << "请输入数组长度:";
cin >> n;
arr = new int[n]; //分配长度为n的整型数组
for(int i=0; i<n; i++){
  arr[i] = i + 1;
}
cout << "数组的值为:";
for(int i=0; i<n; i++){
  cout << arr[i] << " ";
}
delete[] arr; //释放内存

2. 使用vector容器

vector是C++标准库中的一个容器,可以动态地调整其大小,取代了动态内存分配的方法。在使用vector时,不需要先指定数组长度,而是在需要时使用push_back()方法向容器中添加元素,代码如下:

#include<vector>
#include<iostream>
using namespace std;
int main(){
  vector<int> vec; //定义一个空的vector对象
  int n;
  cout << "请输入数组长度:";
  cin >> n;
  for(int i=0; i<n; i++){
    vec.push_back(i+1); //向容器中添加元素
  }
  cout << "数组的值为:";
  for(int i=0; i<n; i++){
    cout << vec[i] << " ";
  }
  return 0;
}

以上两种方法都可以在程序运行时动态定义一个不知道长度的数组,具体使用方法可根据实际需要选择。

  
  

评论区

请求出错了