如何初始化块的字节,使它们包含全0
发布时间:2020-12-16 09:25:30 所属栏目:百科 来源:网络整理
导读:我在内存管理任务中编写calloc函数(我正在使用C).我有一个问题,我编写了malloc函数并考虑将其用于calloc,因为它说calloc将获取num和size并返回一个内存块(num * size),我可以使用malloc来创建它,但是,它说我需要将所有字节初始化为0,我对如何做到这一点感到
我在内存管理任务中编写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; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |