gpt4 book ai didi

c - 在 C 中带有参数的 free() 语法

转载 作者:太空狗 更新时间:2023-10-29 16:33:26 26 4
gpt4 key购买 nike

我正在将许多 C 程序从 Unix 转换到 Linux,这个 free() 语法引起了我的注意:

free((char *) area );

这和 free( area ); 有什么区别?

最佳答案

free 的签名是:

void free(void *ptr);

所以如果area是一个指针类型,由malloc或其表兄弟返回,则在free((char *) area );中进行转换; 毫无意义。

除非...如果代码真的非常旧,也就是说,在 ANSI C 引入 void * 作为通用指针之前。在那个古代,char * 被用作通用指针。

关于c - 在 C 中带有参数的 free() 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26192906/

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