C语言中 void 0 和NULL有什么区别
在C语言中,(void *) 0和NULL都用于表示一个空指针。
NULL是C语言标准库中定义的一个宏,其定义通常为#define NULL ((void *) 0),即将0强制转换为void *类型的空指针。
(void *) 0则是将0直接强制转换为void *类型的空指针。
因此,从语义上来说,NULL和(void *) 0是等价的,都表示一个空指针。但是,使用NULL更为常见和推荐,因为它是标准库定义的宏,具有更好的可读性和可移植性。
原文地址: https://www.cveoy.top/t/topic/h7wz 著作权归作者所有。请勿转载和采集!