如何设置初始化块,使其字节全为零?
- 内容介绍
- 文章标签
- 相关推荐
本文共计333个文字,预计阅读时间需要2分钟。
我在内存管理任务中编写了`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;
本文共计333个文字,预计阅读时间需要2分钟。
我在内存管理任务中编写了`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;

