当前位置 : 主页 > 编程语言 > c++ >

如何初始化块的字节,使它们包含全0

来源:互联网 收集:自由互联 发布时间:2021-06-23
我在内存管理任务中编写calloc函数(我正在使用C).我有一个问题,我编写了malloc函数并考虑将其用于calloc,因为它说calloc将获取num和size并返回一个内存块(num * size),我可以使用malloc来创建它
我在内存管理任务中编写calloc函数(我正在使用C).我有一个问题,我编写了malloc函数并考虑将其用于calloc,因为它说calloc将获取num和size并返回一个内存块(num * size),我可以使用malloc来创建它,但是,它说我需要将所有字节初始化为0,我对如何做到这一点感到困惑?
如果您需要更多信息,请问我:)

因此malloc将返回一个指针(Void指针)到第一个可用内存,我必须通过字节,将它们初始化为零,并将指针返回到可用内存的前面.

我假设你不能使用memset,因为它是一个家庭作业任务分配,并处理内存管理.所以,我只是进入循环并将所有字节设置为0.伪代码:

for i = 1 to n:
   data[i] = 0

哦,如果你无法理解如何取消引用void *,请记住你可以这样做:

void *b;
/* now make b point to somewhere useful */
unsigned char *a = b;
网友评论