【发布时间】:2016-02-14 10:53:11
【问题描述】:
是否可以在 C 中扩展静态数组?
我尝试创建一个函数,它分配一个新的动态数组,将内容复制到它并返回它的指针;但它不能正常工作,我每次都遇到调试错误。
我需要做这样的事情;
int a1[5] = { 1,2,5,4,1 };
extend(a1); //or a1* = extend(a1);
.
.
.
a1[9] = 2;
到目前为止我的扩展功能;
int extend(int x[], int oldSize, int newSize) {
int *extendedX = (int*)calloc(newSize, sizeof(int));
int i = 0;
for (; i < oldSize;i++) {
extendedX[i] = x[i];
}
for (; i < newSize; i++) {
extendedX[i] = 0;
}
return *extendedX;
}
【问题讨论】:
-
不,不是。他们是
static。
标签: c arrays pointers dynamic-memory-allocation