在这个问题,有人建议意见,我应该不会投的结果malloc,即
int *sieve = malloc(sizeof(int) * length);
Run Code Online (Sandbox Code Playgroud)
而不是:
int *sieve = (int *) malloc(sizeof(int) * length);
Run Code Online (Sandbox Code Playgroud)
为什么会这样呢?
free()只需要指针值来释放已分配的内存.这意味着C知道分配的内存块有多大.那么为什么没有一些内置函数来查找指针数组的大小?
我知道惯例是跟踪数组大小,但鉴于已经有一些本地发生的内存管理,为什么我们不利用它来size()为数组提供方便的功能?