Array[n] 与 Array[10]:变量初始化和数组大小的数字文字之间的区别
在 C 编程中,数组在数据存储和检索中发挥着至关重要的作用。但是,在处理数组初始化时可能存在某些陷阱,尤其是与使用可变长度数组相关的陷阱。
考虑以下代码片段:
int n = 10; double tenorData[n] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
此代码旨在初始化一个名为 tenorData 的数组,其大小由变量 n 确定,该变量设置为 10。但是,此方法会引发编译错误,指出可变大小的对象 tenorData 无法在
此代码的主要区别在于使用变量 n 来定义数组的大小。在 C 中,不支持变长数组,这意味着数组的大小在编译时必须是已知常量。
要解决此问题并成功初始化数组,有几个选项可用:
double tenorData[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
const int n = 10; double tenorData[n] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int n = 10; double* tenorData = new double[n];
使用完数组后,请记住使用delete [] tenorData 释放内存。
int n = 10; std::vector<double> tenorData(n);
通过遵循这些准则,您可以有效地在 C 中初始化数组,同时避免与可变长度数组相关的陷阱。
以上是C 中的数组初始化:`Array[n]` 与 `Array[10]` – 有什么区别?的详细内容。更多信息请关注PHP中文网其他相关文章!