55问答网
所有问题
为什么有时要对指针比如说*p,赋值NULL呢?有什么意义
如题所述
举报该问题
推荐答案 2009-12-12
C语言中的变量在使用前必须先定义并赋值,指针变量值在定义后也要先赋值才能使用。定义指针后,如果不对它赋值,指针的值就不确定,不能明确它指向的内存单元。因此,引用未赋值的指针,可能会出现难以预料的结果。为避免这种危害,在定义指针时,可先将它的初值置为空。如int *p=NULL。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://55.wendadaohang.com/zd/IFGIcecIR.html
其他回答
第1个回答 2009-12-12
相当于把指针置空 可以避免指针无具体指向而导致指针错误
如果不这样做的话可能指到某内存区而导致指针混乱 这可能发生危险
所以在指针所指内存内容删除后都得赋值0
第2个回答 2009-12-12
防止溢出
相似回答
C语言int
* p
=
NULL是什么
意思?
答:
int *p=NULL指向一个空指针,等于 int *p=0; NULL等于0;
可以随时让这个p指向其他地址。定义指针,将它初始化为NULL,这样做编程更规范
。
C语言
指针,为什么要对
一个暂时不用的指针声明时为
null呢?
答:
这个一般是在定义的时候防止你未
对指针赋值的时候
进行解引用 int
*p
;int a=10;int b=a+*p;如果你没有将p设为
null,
那么如果编译器又没有报错的情况下,你会得到b的值,可能每次都会有不同,你往回找很难发现错误
定义指针变量
时,
必须将指针变量初始化为
NULL
(为空),否则
,指针
变量会由 ...
答:
因为程序在执行
的时候,
为变量分配内存空间,如果没有给变量分配初始值的话,那么变量空间中的值,是一个以前使用过的垃圾值(即无用的),你不知道它是
什么,
特别是
指针
变量,如果不
赋初值,
就使用的话,可能导致内存崩溃.
再
给指针
变量(*p)赋空值(
NULL
)
时,*p
=NULL与p=NULL哪个正确?原因?
答:
p=NULL是将p指向的内存赋值为NUll,而p本身不会变。
p=NULL是改变了p本身的值
,将它指向的地址改为NULL 满意请采纳!
int
*p
=
NULL
和int *p ;p=NULL 和*p = NULL 这三个的区别
答:
第一种是定义一个int型指针,并给它初始化为
NULL,
也就是个空指针,没有指向任何地方,就是个空的。第二种是定义一个int型指针,然后
给指针赋值
为NULL,指针指向NULL地址。第三种是给指针的值赋值为NULL,也就是给指针指向的内容赋值为0(也就是为空)。
大家正在搜
为什么要对堆栈指针重新赋值
为什么要对sp重新赋值
对两个指针互相赋值应注意点
一个指针赋值给另一个指针
把指针赋值给指针
指针变量如何定义与赋值
对指针赋值
对指针进行赋值
对指针数组的赋值
相关问题
int *p=NULL; 这样给指针变量赋“空”值对吗?对的...
再给指针变量(*p)赋空值(NULL)时,*p=NULL与p...
C语言指针**p是什么意思
int a,*p=&a; 为什么是对指针赋值?
C语言中int *p=NULL是什么意思
解释下指针*p p &p的关系
c语言指针*p中p++什么意思
int *p=null 和 int *p 这两个初始化有什么...