相关疑难解决方法(0)

我是否施放了malloc的结果?

这个问题,有人建议意见,我应该不会投的结果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)

为什么会这样呢?

c malloc casting

2318
推荐指数
27
解决办法
22万
查看次数

realloc和memcpy如何工作?

我有两个问题.

  1. 不要realloc()memcpy()阵列中的复制项目到另一个的方式更快的不仅仅是遍历每个元素O(N)?如果答案是肯定的,那么您认为它的复杂性是什么?

  2. 如果分配的大小小于原始大小,是否realloc()将条目复制到其他位置,或者只是将它们保留,因为它们会减小数组的大小?

c memory-management realloc

24
推荐指数
4
解决办法
2万
查看次数

malloc/free是libc提供的系统调用还是库例程?

如果malloc/free是作为libc中的库例程实现的,那么它是在sbrk系统调用或mmap系统调用之上实现的,还是其他什么?

一般来说,sys/syscall.h中声明的函数是否包含目标机器中的所有系统调用?

c linux libc system-calls

14
推荐指数
2
解决办法
1万
查看次数

标签 统计

c ×3

casting ×1

libc ×1

linux ×1

malloc ×1

memory-management ×1

realloc ×1

system-calls ×1