【发布时间】:2020-09-30 16:16:55
【问题描述】:
我正在尝试动态分配一个固定大小的整数数组,但是在填充数组时会出现问题。
#include <stdio.h>
#include <stdlib.h>
#define SIZE_OF_ARRAY 5
int main(void) {
int * myArr;
myArr= (int*)malloc(SIZE_OF_ARRAY * sizeof(int));
if (myArr == NULL) {
return EXIT_FAILURE;
}
for (int i = 0;i<SIZE_OF_ARRAY;i++) {
*(myArr +1)=i;
printf("myArr[%d]= %d\n", i, myArr[i]);
}
return EXIT_SUCCESS;
}
输出
myArr[0]= 0
myArr[1]= 1
myArr[2]= 0
myArr[3]= 805306368
myArr[4]= -1739194352
为什么只分配到数组的第二个索引?
【问题讨论】:
标签: arrays c dynamic-memory-allocation