Joe*_* DF 45 c string c-strings null-terminated ansi-c
在终止字符串时,在我看来逻辑上char c=0等同于char c='\0',因为"null"(ASCII 0)字节是0,但通常人们倾向于这样做'\0'.这纯粹是出于偏好还是应该是一个更好的"实践"?
什么是首选?
编辑: K&R 说:"字符常量'\0'表示值为零的字符,空字符.'\0'经常编写而不是0强调某些表达式的字符性质,但数值只是0.
Nob*_*lis 39
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
Run Code Online (Sandbox Code Playgroud)
没有区别,但更惯用的是'\0'.
把它放下来char c = 0;可能意味着你打算用它作为一个数字(例如一个计数器).'\0'毫不含糊.
Mic*_*ovy 18
'\0'只是一个ASCII字符.和'A',或者'0'或者'\n'
如果你写char c = '\0',它和char c = 0;
你写char c = 'A'的一样,它和它一样char c = 65
它只是一个字符表示,当你真正意味着字符串的NULL字节时,编写它是一个好习惯.由于char是在C一个字节(整数类型),它没有任何特殊含义.