在这个问题,有人建议意见,我应该不会投的结果malloc,即
malloc
int *sieve = malloc(sizeof(int) * length);
而不是:
int *sieve = (int *) malloc(sizeof(int) * length);
为什么会这样呢?
c malloc casting
假设有20个内存块,指针p指向第一个块.现在,当我这样做时:
p
p++; free(p);
将释放多少块内存,为什么?
c memory free
c ×2
casting ×1
free ×1
malloc ×1
memory ×1