美文网首页
NULL和0的区别

NULL和0的区别

作者: tadelemon | 来源:发表于2017-08-10 16:50 被阅读84次

在C语言中

NULL0的值都是一样的,但是为了使得目的和用途及容易识别,NULL用于指针和对象,0用于数值对于字符串的结尾,使用\0,它的值也是0,但是让人一看就知道这是字符串的结尾,不是指针,也不是普通的数值


在不同的系统中

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

#define NULL 0

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


code by C

int main()
{
    int *p=NULL;
    printf("%s",p);
    return 0;
}

单步调试可以看出执行int *p=NULL,p的值为0x00000000,可以看出,NULL在实际底层调用中就是0

相关文章

  • NULL和0的区别

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

  • day day up

    1、null和undefined的区别 null表示一个空的值,和0以及空字符串' '不同,0是一个数值,‘ ’表...

  • JavaScript知识点复习(2)

    一、Null 和 Undefined的区别 Null 表示“无”的对象,转换为数值时为0 典型用法:a、作为函数的...

  • 0 和 NULL( 0 and NULL)

    一般建议:整数用 0 ;实数用 0.0;指针用 NULL;字符(串)用 '\0'。 整数用0,实数用0.0,这一点...

  • 面试知识5

    一:null和undefined的区别? 1:null是一个表示”无”的对象,转为数值时为0; 2:undefin...

  • NULL和“ ”的区分

    null和""的区别 问题一: null和""的区别 String s=null; string.trim()就会...

  • NULL,nullptr,0,'\0','0'区别

    NULL,nullptr,0,'\0','0',这几个看起来好像都不是一样的东西,但是实际上前面4个都是数字0,只...

  • 前端经典面试题(一)

    1、null和undefined的区别? null是一个表示”无”的对象,转为数值时为0;undefined是一个...

  • 己亥年-第一篇随笔

    谈一谈null在C和C++中的区别: C中NULL是指向0地址的指针常量(void *)0 C++中则是定义为整数...

  • 前端面试遇到的问题--JS

    null和undefined的区别?null是一个表示"无"的对象,转为数值时为0undefined是一个表示"无...

网友评论

      本文标题:NULL和0的区别

      本文链接:https://www.haomeiwen.com/subject/wawhrxtx.html