初始化扩展的数组元素

时间:2011-04-13 05:38:06

标签: c++ arrays function-pointers

所以我已经能够学习扩展数组了,但是我想知道如何在扩展空间中添加元素,这是我到目前为止所做的。

int *expand(int *arr, int size)
{
    int *newArray;


    newArray = new int[size * 2];
    memcpy( newArray, arr, size * sizeof(int));
    for (int index = 5; index < size; index++)
        newArray[index] = 0;
    return newArray;

}

1 个答案:

答案 0 :(得分:2)

我认为您的代码可能存在错误。 newArray的大小为“size * 2”,但是只在“size”之前初始化元素。

试试这个:

newArray = new int[size * 2];
memcpy( newArray, arr, size * sizeof(int));
for (int index = size; index < (size*2); index++)
    newArray[index] = 0;
return newArray;

这应该将新空间中的所有元素初始化为0。