为什么这么多C函数都有Void返回类型但不返回任何内容,例如我正在查看malloc的手册页,它的返回类型是Void,但它也说返回一个地址,它有size_t字节分配
AndroidSDK
在这些情况下,铸造是如何工作的?
在参数中输入void是什么意思?
自由函数的类型为void。
void * malloc(size_t n)
The malloc() functions allocates size bytes and returns a pointer to the allocated memory.
答案 0 :(得分:1)
malloc()
不会返回void
,而是void *
。这是一个魔术"键入C,因为它可以转换为其他类型的指针。对于像malloc()
这样的函数,只有调用者知道他将使用哪些类型,因此malloc()
不必也不能定义返回类型。作为替代方案,它返回void *
的类型。
具有free()
作为参数的函数*void *ptr
的原因相同。