C/C++ 中 NULL、'\0'、'0' 、0、及空格的区别

1、NULL即空指针。在C中,NULL是指向0的指针,由 #define NULL ((void *)0)定义;在C++中,NULL就是0,由 #define NULL 0 定义。可参见 vs2013 的库文件 string.h。

2、‘\0‘ 是空字符常量,表示字符串的结束,ASCII码值为0。

3、‘0‘是字符0,ASCII码值为48。

4、0是数字0。

5、空格是可显示字符空格,ASCII 码值为32。

备注:

  给指针置位为空指针时,应该使用 NULL;

  给字符串添加结束标志时,应该使用 ‘\0‘ 。

C/C++ 中 NULL、'\0'、'0' 、0、及空格的区别

原文地址:https://www.cnblogs.com/yangzx/p/10852752.html

时间: 2024-10-14 12:43:43

C/C++ 中 NULL、'\0'、'0' 、0、及空格的区别的相关文章

3.php数据类型中NULL,"",0的比较

<?php //赋值 $some1 = NULL; $some2 = 0; $some3 = ""; //0与NULL比较 echo $some1==$some2; echo "<br />"; //NULL与""比较 echo $some1 == $some3; echo "<br />"; //0与""比较 echo $some2 == $some3; ?> 输出 1

C#中NULL,&quot;&quot;,DBNULL,String.Empty,Convert.IsDBNull()的区别

C#中的空值的判断较麻烦,不象在VB6中那么简单,这些各种空值的判断和理解对不熟悉的人来说,可能很麻烦,现就我在使用过程中的一点体会和大家共同分享. (1)NULL null 关键字是表示不引用任何对象的空引用的文字值.null 是引用类型变量的默认值.那么也只有引用型的变量可以为NULL,如果 int i=null,的话,是不可以的,因为Int是值类型的. (2)DBNULL DBNull在DotNet是单独的一个类型,该类只能存在唯一的实例,DBNULL.Value,DBNull唯一作用是

Javascript 中的false、0、null、undefined和空字符串对象

在Javascript中,我们经常会接触到题目中提到的这5个比较特别的对象——false.0.空字符串.null和undefined.这几个对象很容易用错,因此在使用时必须得小心. 类型检测 我们下来看看他们的类型分别是什么: [html] view plaincopyprint? <script type="text/javascript"> alert(typeof(false) === 'boolean'); alert(typeof(0) === 'number')

Javascript中的undefined、null、&quot;&quot;、0值和false的区别总结

在程序语言中定义的各种各样的数据类型中,我们都会为其定义一个"空值"或"假值",比如对象类型的空值null,.NET Framework中数据库字段的空值DBNull,boolean类型的假值false等等.在JavaScript中也有很多种的"空值"和"假值",那么它们都有什么共同点和不同点呢? 其实标题里面我已经列出了JavaScript中所有的"空值"和"假值",除了boolean

宏定义中使用do{}while(0)的好处 (转载)

宏定义中使用do{}while(0)的好处   #define MACRO_NAME(para) do{macro content}while(0) 的格式,总结了以下几个原因: 1,空的宏定义避免warning: #define foo() do{}while(0) 2,存在一个独立的block,可以用来进行变量定义,进行比较复杂的实现. 3,如果出现在判断语句过后的宏,这样可以保证作为一个整体来是实现: #define foo(x) /action1(); /action2(); 在以下情况

PullScrollView详解(六)——延伸拓展(listview中getScrollY()一直等于0、ScrollView中的overScrollBy)

前言:经常说follow your heart.但等到真到这么一天的时候,却很艰难 相关文章: 1.<PullScrollView详解(一)--自定义控件属性>2.<PullScrollView详解(二)--Animation.Layout与下拉回弹>3.<PullScrollView详解(三)--PullScrollView实现>4.<PullScrollView详解(四)--完全使用listview实现下拉回弹(方法一)>5.<PullScroll

VS2015预览版中的C#6.0 新功能(二)

VS2015预览版中的C#6.0 新功能(一) VS2015预览版中的C#6.0 新功能(三) 自动属性的增强 只读自动属性 以前自动属性必须同时提供setter和getter方法,因而只读属性只能通过先声明field,然后property只提供getter方法来实现,无法通过自动属性来实现.在c#6.0中,可以通过如下的形式声明只读的自动属性: public string FirstName { get; } 对于只读的自动属性,其backing field是readonly的,其值可以在属性

C/C++语言中NULL、&#39;\0’和0的区别

注:本文参考了http://blog.csdn.net/mylinx/article/details/6873253及书籍<征服C指针>([日]前桥和弥著). NULL.'\0'和0的值是一样的,都是0,不过它们的表现形式不一样: 1. NULL: 即空指针,不过在C和C++中并不一样.在VS 2013的库文件string.h中可以看到如果定义. 1 /* Define NULL pointer value */ 2 #ifndef NULL 3 #ifdef __cplusplus 4 #d

javascript中&quot;return obj === void 0&quot;这种写法的原因和好处

学习underscore.js的时候,发现源码中经常出现类似下面的代码: if (context === void 0) return func; if (array == null) return void 0; 以前没有见过这种写法,到网上搜了一些资料,刚好发现stackoverflow上也有人提出类似的疑问.这里总结归纳下,做个笔记.void其实是javascript中的一个函数,接受一个参数,返回值永远是undefined.可以说,使用void目的就是为了得到javascript中的un