malloc
功能声明:
void *malloc(size_t size);
在这里,malloc
返回void指针。所以,一个void
函数什么都不返回,然后
为什么我们将malloc(函数调用)值分配给指针?
例如:
int *ptr;
ptr = malloc(10 * sizeof (*ptr));
^^^
malloc()
???的返回值是什么?
对于语言设计者而言,这可能是一个不幸的选择,但是他们决定重用void
其void*
构造,这几乎颠倒了它的含义:虽然void
表示“不返回任何内容”,但是void*
表示“返回任何内容的指针”。
本质上,void*
是指向未指定对象的指针。在取消引用之前,必须将其转换为指向特定类型的指针。这正是malloc
or所返回的指针的类型calloc
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句