c语言中的0‘0’‘’“0”及NULL

Posted Nerazzur

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言中的0‘0’‘’“0”及NULL相关的知识,希望对你有一定的参考价值。

c语言中的0、‘0’、‘\\0’、“0”及NULL
ASCII表字符的表示方法:
①单引号表示法:例如 ‘A’
②十进制表示法:直接使用该字符在ASCII表中的序号(即十进制值),例如65
③转义字符表示:使用 ‘\\index’,其中index为该字符在ASCII表中的(八进制或16进制)值,例如 ’\\101’(八进制)和 ’\\0x41’(16进制)。使用该方法时,\\ 后面的字符值只能使用该字符在ASCII表中的八进制值和16进制值,且默认使用八进制;使用16进制需要在 \\ 后面加0x。
上面的’A’、65、’\\101’、’\\0x41’都是表示的大写字母A,其在ASCII表中的序号是65,即十进制数65,对应的八进制数是101,对应的16进制数是41。

0、’0’、’\\0’、”0”、NULL
了解了上面ASCII表字符的表示方法之后,便不难理解标题中的几项了。
①0:ASCII表的第1个字符(NULL字符,打印出来的结果是一个空格,无任何显示),对应的十进制数0,对应的16进制数是0x00。
②’0’:表示字符0(阿拉伯数字0),ASCII表第48个字符,对应的八进制数是60,对应的16进制数是30。
③’\\0’:使用转义字符表示的NULL,相当于①中直接使用的0。最常见的用法是隐式地表示字符数组结束。
④”0”:不是单个的字符,而是一个字符串。实际上它是两个字符,即’0’和’\\0’。使用数组来存储时,该数组的长度是2。
⑤NULL:同①

以上是关于c语言中的0‘0’‘’“0”及NULL的主要内容,如果未能解决你的问题,请参考以下文章

c语言中的0‘0’‘

C语言 字符串处理函数strtok第二次及以后的调用中第一个参数要用NULL的原因是啥? 能不能解释下原理?

c语言中怎样给整型和字符型赋空值(NULL)

c语言循环结构

C语言里怎样判断数组里的一个元素为空还是为0

nullptr和NULL