首页 > 后端开发 > C++ > 如何在 C 中创建动态大小的数组?

如何在 C 中创建动态大小的数组?

Linda Hamilton
发布: 2025-01-05 13:06:49
原创
131 人浏览过

How Can I Create a Dynamically Sized Array in C  ?

C 中的可变大小数组

C 中不允许初始化可变长度的数组。但是,在某些实现中,例如 G ,允许这种做法作为扩展。

int n = 10;
double tenorData[n] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
登录后复制

此代码将导致错误,因为“tenorData”是无法初始化的可变大小对象。要解决此问题,您可以将数组大小指定为数字文字:

double tenorData[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
登录后复制

替代方法

如果您确实需要动态大小的数组,C 提供几个选项:

  • 动态内存分配:手动分配使用 new 和 delete[].
int n = 10;
double* a = new double[n];
// ...
delete[] a;
登录后复制
  • 标准容器: 使用标准容器,如 std::vector。
int n = 10;
std::vector<double> a(n);
登录后复制

恒定大小数组

如果不需要可变大小的数组,您可以使用常量创建固定大小的数组:

const int n = 10;
double a[n];
登录后复制

或者,您可以使用 C 中的 constexpr 11:

constexpr int n()
{
    return 10;
}

double a[n()];
登录后复制

以上是如何在 C 中创建动态大小的数组?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板