【发布时间】:2015-08-08 04:57:22
【问题描述】:
char *s = "Hello"-
char s[6] = "Hello"
上述任何一种语法都可以正常工作。
但是跟随呢?
-
int a[3] = {1,2,3}(这会很好用) - 但为什么不这样呢,
int *a = {1, 2, 3};?
解释以及案例 [2] 和 [4] 之间的比较会有所帮助。
【问题讨论】:
-
请注意,实际上情况 1 是例外,而不是其他情况。另请注意,特别是对于 C,最好对编译器进行额外的检查,因为您可以轻松创建相当复杂的表达式,只有专家才能轻松推断出语义。
标签: c arrays string pointers initialization