null在c语言中表示什么?

1.NULL在C/C++中定义为:

#ifdef _cplusplus // 定义这个符号就表示当前是C++环境

#define NULL 0 // 在C++中NULL就是0

#else

#define NULL (void *)0 // 在C中NULL是强制类型转换为void *的0

#endif

2.由上可知,在C和C++中NULL是略有差异的,在C++中NULL就是数字0,在C中NULL是个指针变量,指向地址0。在C语言中,int *p;你可以p = (int *)0;但是不可以p = 0;因为类型不相同。

NULL有什么作用?

1.C语言的精髓是指针,指针是可以指向内存地址,程序员可以直接读写内存,好处是效率高,坏处是如果访问的内存是不该访问的内存地址,就会造成段错误或者非法修改数据导致程序运行异常。所以在C语言中,对指针变量的引用要谨慎。

2.当我们定义一个局部指针变量时,因为临时变量都是从栈申请的,变量的初值都是随机的,导致刚申请的指针变量指向的内存地址是不可预知的。至于为什么临时变量申请的初值是随机的,可以参考另一篇博客

《C语言与堆栈的理解》。如果我们定义了一个变量而没有去初始化,直接解引用,会导致段错误或者修改了不该访问的内存地址处的数据。导致段错误已经是非常好的情况的,会生成core文件,比较容易发现;最怕的是程序没有报错,而是指针刚好指向了一个可以访问的内存地址,通过这个指针变量把一些不该修改的数据给改掉了。

3.简单来说,NULL的作用就是当一个指针变量没有被显性初始化时,将该指针变量的值赋为NULL。解引用前判断指针变量是否为NULL,如果为NULL说明该指针没有初始化过,不可解引用。

我的世界null是什么人物?

Null是游戏《我的世界》中玩家构建出的的虚拟人物,也是我的世界都市传说人物之一,Null 是一个漆黑的实体,它会跟踪玩家并扰乱他们的世界。

推荐内容