gpt4 book ai didi

在 C 中转换 Void 函数

转载 作者:行者123 更新时间:2023-11-30 14:49:08 25 4
gpt4 key购买 nike

为什么这么多C函数有Void返回类型但不返回任何内容,例如我正在查看malloc的手册页,它的返回类型是Void,但它也说返回一个地址到它有size_t字节的地方已分配。

void * malloc(size_t  n)

The malloc() functions allocates size bytes and returns a pointer to the allocated memory.

在这些情况下选角是如何进行的?

参数中类型为 void 意味着什么?

free 函数的类型为 void。

void free(void *ptr)

最佳答案

malloc() 不返回 void,而是返回 void *。这是C中的“神奇”类型,因为它可以转换为其他类型的指针。对于像malloc()这样的函数,只有调用者知道他将使用什么类型,因此malloc()不必也不能定义返回类型。作为替代方案,它返回 void * 类型。

与以 *void *ptr 作为参数的函数 free() 的原因相同。

关于在 C 中转换 Void 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49911779/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com