string终止 – char c = 0 vs char c ='\ 0'
当终止一个string时,在我看来,由于“null”(ASCII 0)字节为0
,所以在逻辑上, char c=0
等同于char c='\0'
,但通常人们倾向于做'\0'
。 这纯粹是出于偏好还是应该是一个更好的“实践”?
什么是首选?
编辑: K&R 说 :“字符常量'\0'
表示字符值为零,空字符'\0'
通常被写入而不是0
来强调某些expression式的字符性质,但数字值只是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
这只是一个字符表示,当你真的指的是string的NULL字节时,这是一个很好的写法。 由于char
是C中的一个字节(整型),所以没有什么特别的含义。
最好的select是让人们阅读代码的能力,以便理解你如何使用你的variables – 作为一个数字或作为一个字符。 最好的做法是当你的意思是你的variables是数字时使用0,当你的variables是一个字符的时候使用'\ 0'。