在C++中 大家可能都会使用new关键字来 在堆中 动态分配 方法是:
int *arr = new int[变量或数值];
可以动态分配指定长度的数组 在C语言中要使用 malloc calloc 来进行分配
如果要赋值的话可以在申请完内存后 使用循环进行赋值也可以使用C库中提供的内存操作函数
memset(开始地址,要赋的值,长度); 如
int *arr = new int[10]; memset(arr,0,arr+10);
这样就将这个数组中的10个元素都赋值为0
如果在C99中栈中的数组也可以动态分配 不过就不可以在声明的时候进行初始化了
int arr[变量]; 这样写也是可以通过的 不过不能写成这样
int arr[变量] = {}; 如果不使用变量是可以写右边的大括号进行初始化的
但也同样可以使用循环或 memset进行初始化
希望对你有帮助
用new创建数组不能初始化,单个变量可以初始化
{ int x,n,i=0; cout
是想说动态控制数组的长度吧,我也还没学呢,要用vector吧