700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > C语言 NULL 和 0 区别 - C语言零基础入门教程

C语言 NULL 和 0 区别 - C语言零基础入门教程

时间:2020-01-04 04:16:30

相关推荐

C语言 NULL 和 0 区别 - C语言零基础入门教程

目录

一.关于 NULL 定义二.NULL 和 0 区别三.猜你喜欢

零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门

一.关于 NULL 定义

NULL 在 stdio.h 中定义如下:

#if !defined(NULL) && defined(__NEEDS_NULL)#ifdef __cplusplus#define NULL 0#else#define NULL ((void *)0)#endif#endif

二.NULL 和 0 区别

在 C 语言中,NULL 和 0 的值都是一样的,但是为了目的和用途及容易识别的原因,NULL 用于指针和对象,0 用于数值;

#include<stdo.h>int main(){int *p=NULL;printf("%s",p);}/*输出:0x00000000*/

由上面代码可以看出:NULL 在实际底层调用中就是 0 ;

在不同的系统中,NULL 并非总是和 0 等同,NULL 仅仅代表空值,也就是指向一个不被使用的地址,在大多数系统中,都将 0 作为不被使用的地址,所以就有了类似这样的定义

#define NULL 0

但并非总是如此,也有些系统不将 0 地址作为 NULL ,而是用其他的地址,所以说,千万别将 NULL 和 0 等价起来,特别是在一些跨平台的代码中,这更是将给你带来灾难。

三.猜你喜欢

C 语言 数组下标越界和内存溢出区别C 语言 使用指针遍历数组C 语言 指针和数组区别C 语言 指针数组和数组指针区别C 语言 野指针C 语言 函数值传递和址传递C 语言 函数不定长参数C 语言 函数指针C 语言 指针函数C 语言 回调函数 callbackC 语言 #pragma onceC 语言 #include <> 与 #include “” 区别C 语言 const 修饰函数参数C 语言 const 和 define 区别C 语言 #运算符C 语言 ##运算符C 语言 __VA_ARGS__C 语言 ##__VA_ARGS__C 语言 函数不定长参数 ##__VA_ARGS__经典案例C 语言 va_start 宏C 语言 va_end 宏C 语言 va_arg 宏C 语言 vprintf 函数C 语言 va_start / va_end / va_arg 自定义 printf 函数C 语言 main 函数C 语言 main 函数参数 main(int argc, char *argv[])C 语言 exit 函数C 语言 abort 函数C 语言 assert 函数C 语言 NULL 和 0 区别

未经允许:猿说编程 » C 语言 NULL 和 0 区别

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。