【发布时间】:2014-09-06 19:02:27
【问题描述】:
char *a= "ABC";
"ABC" 字符串属于const char* 类型。如何将其地址分配给char* 指针?
不应该是错误吗?
【问题讨论】:
-
它是undefined behavior(见第一个例子)。
-
C 不像 C++ 那样类型严格——这就是原因
-
Char不是 C 中的类型。你的意思是char? -
不,
"ABC"的类型为char[4],在大多数(但不是全部)上下文中隐式转换为char*。 (尝试修改字符串文字的行为未定义,但由于历史原因,它们不是const。)