【发布时间】:2017-10-04 23:46:55
【问题描述】:
查看下面的声明
const char REASON_POR = "POR";
问题是,为什么REASON_POR 会被NULL 终止?
【问题讨论】:
-
什么意思?这就是 C 的工作方式。字符串文字以 null 结尾。
-
C 非常混乱。请注意,
NULL(大写字母)是用作 pointer 常量的宏。但是,您追求的是完全不同的东西,即数值为零的 character。它通常拼写为'\0',但也可以使用0,有时也会使用符号“NUL”(一个“L”)。也就是说,字符串是“零终止”或“null 终止”(“null”是“零”的替代词),或者可能是 NUL 终止,但绝不是您所说的。 -
OMG
"POR"是char *的类型,而不是char
标签: c string null null-terminated