
C++中定义数组的方式多种多样,静态数组的声明是固定的,例如:int at[n] = {1, 1}; 这种声明方式在实际编程中并不可行。
对于需要动态分配大小的数组,可以使用new操作符,这允许你在程序运行时确定数组的大小。例如:
#include <iostream>
using namespace std;
int main() {
int n, i, a, b, *at;
while (cin > a > b > n) {
if (a == b == n == 0 || n < 2) break;
else {
at = new int[n];
*at = 1;
*(at + 1) = 1;
for (i = 2; i < n; i++) {
at[i] = i;
}
for (i = 0; i < n; i++) {
cout << at[i] << " ";
}
delete[] at;
}
}
return 0;
}
在这个例子中,我们首先使用new动态分配了一个大小为n的数组,并初始化了前两个元素。然后,我们使用for循环为数组其余部分赋值。最后,使用delete[]释放内存。
需要注意的是,在使用new分配内存后,必须使用delete[]来释放内存,以避免内存泄漏。这里我们使用了delete[] at来释放at所指向的内存。
动态数组的使用提供了更大的灵活性,但同时也需要更加小心地管理内存,以确保程序的稳定性和效率。
综上所述,正确地声明和使用数组在C++中非常重要,这不仅有助于代码的正确执行,还能提高程序的性能和稳定性。