当前位置:首页 > 科技 > 正文

指针赋值为NULL,指针赋值为null

指针赋值为NULL,指针赋值为null

指针定义NULL后无法赋值? NULL是系统定义的常量,没有类型限定的0值。一般用来初始化一个指针变量,以标识指针未指向任何地址,或者说空指针,方便判断。在C语言中,是...

指针定义NULL后无法赋值?

NULL是系统定义的常量,没有类型限定的0值。一般用来初始化一个指针变量,以标识指针未指向任何地址,或者说空指针,方便判断。

在C语言中,是大小写敏感的。也就是说,NULL与null是两个不同的标识符。

能的,指针的地址跟它指向的地址是不一样的。我们说的给指针用new赋值,其实是在内存上分配一块内存,然后将内存的首地址传给指针,指针的值就是内存的首地址。

void main(){ int *a = NULL; // 定义了a指针变量,指向NULL a = 3; //问题出在这里,*a指向的是NULL,也就是a没有指向任何变量,你把一个常量3赋值给一个不存在的NULL,是行不通的。

NULL是0,此内存由系统管理,不可读写,printf(%d\n,*p);就是尝试读取0号内存(NULL)的值,当然出错,另外,你的操作,并没有给指针赋值,看运行结果 读取位置 0x00000000 时发生访问冲突。

结构体中的指针同时赋值NULL出错

*p = a 是错的,因为这句话的意思是将变量a的值复制并存放到指针p指向的地址空间里。但是你初始化的时候给指针p赋了NULL,即空指针,所以此时p不指向任何地址空间,那么程序无法将a的值放到存储空间里,所以程序报错。

NULL是0,此内存由系统管理,不可读写,printf(%d\n,*p);就是尝试读取0号内存(NULL)的值,当然出错,另外,你的操作,并没有给指针赋值,看运行结果 读取位置 0x00000000 时发生访问冲突。

你是怎么初始化的?应该是timer=time(NULL),这样。还有localtime函数好像写错了吧,它的原型应该是struct tm *localtime(time_t *timer),只有一个形参,返回值是struct tm*类型。

指针初始化时设置为0和NULL的区别?求高手解答~

1、NULL就是0,0就是NULL 叫你的学名也是叫,叫你的小名也是叫 两个为一区别就是NULL 比较专业一点,大多数编程语言都定义NULL为空的意思。

2、对象的内容不同 null表示对象的内容为空,即对象的内容是空白的。空值表示对象的内容无法确定。零表示对象的内容确定为零。对象的值不同 null表示对象计算中具有保留的值,用于指示指针不引用有效对象。

3、是一个数字,本身有着一些原生的特性诸如:起始,没有,正负的分界线,0/1中的0还可以表示否定。0可以表示数字0,也可以表示ASCII码值为0的字符。

4、NULL一般表示空指针,也就是这个指针没有指向任何地址。你也可以简单的理解为指针变量初始化时赋值 \0是字符串的结束符。

5、NULL在头文件的定义也是0,没区别。它们指的都是ASCII字符集中的第一个字符,标志“空”的一个状态字。while(*pf)while(*pf!=0)效果也一样,都是判断指针为空(假)做为终止循环的条件。

再给指针变量(*p)赋空值(NULL)时,*p=NULL与p=NULL哪个正确?原因?_百...

1、第一种是定义一个int型指针,并给它初始化为NULL,也就是个空指针,没有指向任何地方,就是个空的。第二种是定义一个int型指针,然后给指针赋值为NULL,指针指向NULL地址。

2、所以if(*p == null)是判断指针p指向的地址存储的值是否为null if(p == null)是判断指针p是否指向null 希望对你有帮助。

3、int *p=NULL;就是int *p=0;。一个等于0的指针是表示这个指针不能用的状态,即不可能用*取出0单元的值来。

4、c、c是对的,这是指针的初始化。d、int *p;*p=null;该句代码的意思是p指向的内存赋值为NULL,这不是合法的内存,d不对。

5、C语言中int *p=NULL意思是:C语言中p里面是随机值,在int *p=NULL,这个p是有值的,为NULL;int *p=NULL指向一个空指针,等于 int *p=0; NULL等于0;可以随时让这个p指向其他地址。

为什么智能指针赋值成null后不能用if判空

if(NULL != p)和f(p != NULL)两者并没什么区别,都是判断指针p是否为空。

) 指针声明后要马上初始化。因为指针出现的缺省值是随机的,所以一定要赋值为null,然后再使用。2) 调用了free和delete后一定要将指针赋值为null。原因上面已经提过了,就不再赘述了。

因为打开文件的语句在打开不成功时由打开函数返回一个NULL值赋给fp。所以如果文件指针fp的值是NULL,就标志着文件打开失败了。

如果查询出的结果是空值,应当转换成空字符串。当然在前端也能进行判断,但要求后台实现这个功能。

可以通过判断其是否为空指针,来进行内存释放(防止内存泄露)。void func(){ char *p=NULL; ... if ( p != NULL ) //当p用malloc成功分配过内存时,其值是个非0值。

...为什么要将指针变量在开始的时候赋值为NULL?

1、C语言中的变量在使用前必须先定义并赋值,指针变量值在定义后也要先赋值才能使用。定义指针后,如果不对它赋值,指针的值就不确定,不能明确它指向的内存单元。因此,引用未赋值的指针,可能会出现难以预料的结果。

2、给指针变量赋初值在语法上是没有错误的,编译执行也可以通过,但是一旦代码量增多后,很容易造成指针的错用,为了防止这一问题最好将指针变量定义的时候就置成NULL,这样做是为了代码安全着想。

3、其实意思是 初始化变量。 就是这个null只是一个数值,对它初始化什么数值都行的。不初始化变量,后面会编译错误。内存中只是声明了,却没有初始化。

4、可读)地址。指针变量通常在定义的时候不能知道他应该指向什么合法的地址, 通常给它赋上NULL的初值(定义时给定的值(不给定不是没有值,而是随机值))。 这就是为什么指针变量初值为零。

最新文章