我使用malloc
分配了一个数组,然后尝试使用for循环和指针算法来填充它,但是由于某些原因它不起作用。
int* myArray = (int*)malloc(100*sizeof(int));
for (int i = 0; i < 100 ; i++)
{
*myArray = i;
myArray++;
}
答案 0 :(得分:6)
执行myArray++
时,会丢失指向已分配内存的原始指针。
相反,您应该这样做:
*(myArray + i) = i;
甚至只使用普通的数组索引:
myArray[i] = i;