当终止一个字符串时,在我看来这在逻辑上char c=0
等同于char c='\0'
,因为“null”(ASCII 0)字节是0
,但通常人们倾向于这样做'\0'
。这纯粹是出于偏好还是应该是更好的“做法”?
什么是首选?
编辑: K&R 说:“字符常量'\0'
表示值为 0 的字符,即空字符。'\0'
通常写成而不是0
强调某些表达式的字符性质,但数值只是0
.
当终止一个字符串时,在我看来这在逻辑上char c=0
等同于char c='\0'
,因为“null”(ASCII 0)字节是0
,但通常人们倾向于这样做'\0'
。这纯粹是出于偏好还是应该是更好的“做法”?
什么是首选?
编辑: K&R 说:“字符常量'\0'
表示值为 0 的字符,即空字符。'\0'
通常写成而不是0
强调某些表达式的字符性质,但数值只是0
.
http://en.wikipedia.org/wiki/Ascii#ASCII_control_code_chart
Binary Oct Dec Hex Abbr Unicode Control char C Escape code Name
0000000 000 0 00 NUL ␀ ^@ \0 Null character
没有区别,但更惯用的是'\0'
.
放下它char c = 0;
可能意味着您打算将其用作数字(例如计数器)。'\0'
是明确的。
'\0'
只是一个ASCII字符。'A'
与, 或'0'
相同如果'\n'
写char c = '\0
' 则与char c = 0;
如果写char c = 'A'
相同 则与char c = 65
它只是一个字符表示,当您真正指的是字符串的 NULL 字节时,编写它是一个好习惯。由于char
在 C 中是一个字节(整数类型),因此没有任何特殊含义。
首选的选择是可以让阅读您的代码的人能够理解您如何使用您的变量 - 作为数字或作为字符。最佳实践是当你的意思是你的变量是一个数字时使用 0,当你的变量是一个字符时使用 '\0'。