【发布时间】:2013-04-02 03:04:02
【问题描述】:
我使用 malloc 分配了一个数组,然后尝试使用 for 循环和指针算法填充它,但由于某种原因它不起作用。
int* myArray = (int*)malloc(100*sizeof(int));
for (int i = 0; i < 100 ; i++)
{
*myArray = i;
myArray++;
}
【问题讨论】:
-
您能解释一下什么不起作用吗?
-
通常在初始化指针后,您不会添加到它以递增数据。通常你只需要
myArray[ELEMENT] = val。指针就像数组一样工作。只是一个想法。 -
你应该在 for 循环之外声明 i。
-
它正在工作。您是否期望指针
myArray在循环后与循环前具有相同的值??? -
@Quirliom:为什么?这是有效的 C99 和 C11 代码。
标签: c pointers dynamic malloc allocation