C 为什么铸造马洛克和解释



好吧,我前几天问过这个问题。但是当我被问到时得到的答案让我意识到,在我做一些艰苦的研究之前,我还不适合质疑它。

所以在这里我再次重试这个....

在malloc的例子中,我看到了这样的东西......

    #include <stdio.h>
    int main()
    {
        int ptr_doe;
        ptr_doe = (int *) malloc(sizeof(int));
    }

我读到它不是必需的:

    (this *) malloc(sizeof(int));

而那只是

    (int *) malloc(sizeof(\this));

是必要的。调用 malloc 函数之前的强制转换是否必要?我们怎么知道我们需要分配多少内存以及这到底是什么?

    malloc(10 * sizeof(int));

它是将 4 个字节乘以 10 吗? 什么时候需要使用 malloc?它在内部如何工作?感谢任何帮助,伙计们

1.

调用 malloc 函数之前的强制转换是否必要?

如果使用 currect 编译器,则"否"。查看答案 我是否投射了 malloc 的结果?

阿拉伯数字。

我们如何知道需要分配多少内存

这取决于您的需求。

3.

malloc(10 * sizeof(int));

意味着分配足够大的内存来存储 10 int值。

4.

它是将 4 个字节乘以 10 吗?

如果sizeof(int)等于 4,则为。

5.

什么时候需要使用 malloc?

如果只是在运行时,你可以知道你的程序需要多少内存。

6.

它在内部如何工作?

简而言之,malloc()会要求操作系统提供足够的内存,记录它所需的一些信息,并返回指向该内存段开头的指针。

相关内容

  • 没有找到相关文章