77问答网
所有问题
C语言中NULL是什么意思
如题所述
举报该问题
推荐答案 2018-03-22
NULL å°±æ¯ä¸ä¸ªç¹æ®çæéå¼ï¼ å ¶å®æ¬è´¨æ¯ä¸ä¸ªå®
#define NULL (void *)0
ä¹å°±æ¯0å¼ï¼ 强å¶è½¬æäºæéã
ç¨æ¥è¡¨ç¤ºä¸ä¸ªæééæ³ã æ以å¨åå§åçæ¶åç»å¸¸ç¨NULLæ¥åå§åã
ç±äºæ¯éæ³æéï¼ æ以对è¿ä¸ªæéåå¼(*æä½)ä¼å¯¼è´ç¨åºå´©æºã å¿ é¡»è¦å æåä¸ä¸ªææ空é´æå¯ä»¥ã
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://77.wendadaohang.com/zd/8qYGI3v8qG3IW33pvI.html
其他回答
第1个回答 2016-02-13
Null,本意是"空的;元素只有零的"意思。计算机中通常表示空值,无结果,或是空集合。
NULL指针是一个无类型指针,并且值为0。一个指针,拥有2个属性--地址值和指针类型。两者的作用是:1,地址值标识变量的首地址(32位系统下指针的地址值占4字节);2,指针类型告诉
编译器
,应该怎样进行接下来的数据访问(int型数组和float型数组是不同的;数组访问与
结构体
访问也是不同的;等等)。
本回答被网友采纳
第2个回答 2018-07-05
在C语言中,NULL和0的值都是一样的,但是为了目的和用途及容易识别的原因,NULL用于指针和对象,0用于数值。对于字符串的结尾,使用'\0',它的值也是0,但是让人一看就知道这是字符串的结尾,不是指针,也不是普通的数值。
拓展资料:
关于NULL的使用
编程工作中有一类比较容易犯的错误--指针地址未进行正确的更新赋值就加以使用,这往往会造成很严重的后果(对内存区进行错误的涂抹)。所以一个良好的习惯是,当一个指针的工作稍事休息,先把它赋值为NULL,待到再度使用时,重新对其赋值以及进行指针类型转化。
前面说到"NULL指针无法再进行任何数据访问",其实是视编译器功能而定的。0位置指向的是程序起始,对于不同的编译器,NULL指针的操作结果是不同的:有些是不准读写,有些是只读,甚至读写都允许。编译器是人定的。
第3个回答 2016-01-14
在头文件 中 定义的一个常量 NULL=0;
用于指将指针 悬空(不指向任何位置)楼上的指向0内存不对的.
int *p=NULL;
NULL是个好东西,给一出生的指针一个安分的家
NULL不是被定义为0,就是被定义为(void *)0,这两种值几乎是相同的。当程序中需要一个指针时(尽管编译程序并不是总能指示什么时候需要一个指针),一个纯粹的零或者一个void指针都能自动被转换成所需的任何类型的指针。
NULL总是等于0吗?
对这个问题的回答与“等于”所指的意思有关。如果是指“与。比较的结果为相等”,例如:
if(/* ... */)
{
p=NULL;
}
else
{
p=/* something else */;
}
/* ... */
if(p==0)
那么NULL确实总是等于0,这也就是空指针定义的本质所在。
如果是指“其存储方式和整型值。相同”,那么答案是“不”。NULL并不必须被存为一个整型值0,尽管这是NULL最常见的存储方式。在有些计算机中,NULL会被存成另外一些形式。
如果想知道NULL是否被存为一个整型值0,可以(并且只能)通过调试程序来查看空指针的值,或者通过程序直接将空指针的值打印出来(如果将一个空指针强制转换成整类型,那么=所看到的很可能就是一个非零值)。
第4个回答 2018-05-25
C语言NULL定义,定义如下:
#undef NULL
#if defined(__cplusplus)
#define NULL 0
#else
#define NULL ((void *)0)
#endif
所以我觉得,如果一个指针被赋予NULL,应该就相当于这个指针执行了0x0000这个逻辑地址,但是C语言中0x0000这个逻辑地址用户是不能使用的(有些人说是因为0x0000没有映射到物理地址,也有人说是因为0x0000映射到的地址是操作系统用于判断野指针的,我也不太懂,总之就是用户不能使用啦),所以当你试图取一个指向了NULL的指针的内容时,就会提示段错误,听着有点绕,看程序:
int *node=NULL;
int a=0;
a=*node;
printf("%d\n",a);
由于node执行的是NULL,也就是逻辑地址0x0000,而这个地址用于是不能访问的,所以编译器提示段错误。
1
2
3
4
下一页
相似回答
C语言中NULL是什么意思
答:
NULL 就是一个特殊的指针值
, 其实本质是一个宏 define NULL (void *)0 也就是0值, 强制转成了指针。
用来表示一个指针非法
。 所以在初始化的时候经常用NULL来初始化。由于是非法指针, 所以对这个指针取值(*操作)会导致程序崩溃。 必须要先指向一个有效空间才可以。
C语言中是NULL什么意思
?
答:
c语言null的意思和0的值是一样的,用于指针和对象
。C语言是一门面向过程的计算机编程语言,与C++、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。C语言描述问题比汇编语言迅速,工作量...
C语言中是NULL什么意思
答:
空,
Null
时为空,还没有给变量初始化
c语言NULL是什么意思
?
答:
。你可以在任何编译器中,点击
NULL
右键查看定义。这里稍微解释一下,上图高亮部分是表示C++,也就是如果当前
语言是
C++,则直接定义NULL为 0值,如果是其他(可能是
C
),则明确定义为 void 0,因为C++编译器会自动转换。#ifndef 宏命令表示:如果当前环境中其他模块还未定义NULL,这就定义它。
c语言中null什么意思
答:
在
C语言中
,
NULL
和0的值都是一样的,但是为了目的和用途及容易识别的原因,NULL用于指针和对象,0用于数值 对于字符串的结尾,使用'\0',它的值也是0,但是让人一看就知道这是字符串的结尾,不是指针,也不是普通的数值 在不同的系统中,NULL并非总是和0等同,NULL仅仅代表空值,也就是指向一个不...
C语言中NULL是
表示
什么
?
答:
NULL是
一个宏,值为0 一般来用表示空指针,在stdio.h中可以找到NULL的宏定义
C语言中NULL是什么意思
?
答:
1、
NULL
,即
Null
,在
C
(C++)
语言中
它是一个无类型指针,并且值通常定义为0。NULL,空字符(也空终止符或空字节,缩写NUL),是一个控制字符与零值。 它存在于许多字符集中,包括ISO / IEC 646(或ASCII),C0控制代码,通用字符集(或Unicode)和EBCDIC。它几乎可用于所有主流的编程语言。2、这个字符的...
大家正在搜
c语言中?是什么意思
c语言中\0是什么意思
i++在c语言中是什么意思
c语言中!a是什么意思
%s在c语言中是什么意思
c语言中(a,b)是什么意思
c语言中%x是什么意思
c语言中%o什么意思
c语言中d%是什意思
相关问题
C语言中是NULL什么意思?
c语言中null什么意思
C语言中int *p=NULL是什么意思
if(NULL != p)和if( p!=NULL )在C语...
c语言中 srand(time(NULL)); 这句话是什么...
C语言中NULL有什么作用?具体用法是什么?
C语言中NULL是什么意思?
c语言中语句srand(time(NULL))什么意思。