加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何初始化块的字节,使它们包含全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;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读