MirandaMeng
MirandaMeng
采纳率100%
2021-02-25 18:21

C++对一维数组的定义

int n; cin>>n; int a[n];
int n = 5, a[n];

 

这两种定义方式为什么不符合C++的标准

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • weixin_42910064 泡视界 2月前

    啊这,数组定义时需要用一个常量确定其长度,你需要的功能可以用动态分配实现,

    1.定义一个n

    2.为n赋值

    3.定义一个指针

    4.为指针动态分配空间。

    int n;
    cin>>n;
    
    int* a = nullptr;
    a = (int*)malloc(sizeof(int) * n);
    

    这样就是你需要的动态确定一个数组的长度了。

    用完记得释放你分配的空间

    free(a)

    点赞 1 评论 复制链接分享
  • peng450 peng450 2月前

    c++数组大小需要在编译时确定,而你却是让它在运行时确定。

    点赞 评论 复制链接分享

为你推荐