用于在C中填充动态分配的数组的指针算法

时间:2013-04-02 03:04:03

标签: c pointers dynamic malloc allocation

我使用malloc分配了一个数组,然后尝试使用for循环和指针算法来填充它,但是由于某些原因它不起作用。

int* myArray = (int*)malloc(100*sizeof(int));

for (int i = 0; i < 100 ; i++)
{
    *myArray = i;
    myArray++;      
}

1 个答案:

答案 0 :(得分:6)

执行myArray++时,会丢失指向已分配内存的原始指针。

相反,您应该这样做:

*(myArray + i) = i;

甚至只使用普通的数组索引:

myArray[i] = i;