我正在阅读一本使用C的书,并且遇到了以下一行:
(void)free (data);
[这里,data
只是指向已分配结构的指针,
data = malloc (sizeof (my_struct_t));
我的问题是,为什么free
被强制转换为(void)free
?从我对C的(有限的)理解来看,这似乎没有道理,原因有两个:
void
这本书写于1997年,所以我想知道这是否是某种遗产?作者提到这些示例在UNIX 4.0d上运行,但是如果您不打算使用该结果,我仍然无法想象有理由将其转换为函数。
我正在读一本使用C的书,遇到了以下内容:(void)free(data);在这里,数据只是指向已分配结构的指针,数据= malloc(sizeof(my_struct_t));我的问题是,...
如果我们谈论的是标准free
函数,则其原型为
void free(void *ptr);
这将是一件古老的事情!
如果这是某种遗留物
C标准库的free()
function的签名是: