天天看点

c++定义未知元素个数(长度)的数组(数组的元素个数是个变量或者元数个数是用户输入值)

许多的初学者可能会想到以下的代码

c++定义未知元素个数(长度)的数组(数组的元素个数是个变量或者元数个数是用户输入值)

直接用变量(n)来定意数组长度,这是犯法的(违规),但有些编译器是允许的。可是用visual studio2019会报错!

正确的代码应该用指针来定义    如下:

#include<iostream>
using namespace std;
int main()
{
  cout << "请输入元素个数:";
  int n;
  cin >> n;//输入元素个数
  int* p;   //定义一个指针(数组名)
  p = new int[n];//指针指向一个数组,动态分配内存
  for (int i = 0; i < n; i++)
  {
    cout << "请输第" << i + 1 << "个数:";
    cin >> p[i];
  }
  cout << endl;
  cout << "该数组是:";
  for (int k = 0; k < n; k++)
  {
    cout << p[k] << " ";//输出数组
  }
  return 0;