21xrx.com
2024-09-20 00:50:32 Friday
登录
文章检索 我的文章 写文章
如何定义一个不知道长度的C++数组?
2023-07-02 12:09:57 深夜i     --     --
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;

}

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

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复