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'。