NULL 起初我们知道, NULL其实就是代表空指针的宏, 其本质上就是 0, 表示不指向任何内存的空指针 但是, 我们看这段代码: int* p = (void*)NULL; 用 gcc (按 c 语言)编译器的编译效果: 用 g++ (按 c++)编译器的话, 就会编译不通过: 也就是说, NULL 在 C语言中和在 C++ 中是不同的, 我们可以了解一下 NULL 的宏定义: #ifndef NULL #ifdef __cplusplus #define NULL 0 #