【发布时间】:2013-04-27 20:57:40
【问题描述】:
为了提高效率,有没有理由使用其中一个而不是另一个?
char str1[] = "Hello"
char *str2 = "World"
【问题讨论】:
-
对于可重复使用的 str1[] 更好。
-
效率怎么样? (我编辑了这个问题,只关注效率)
-
它们的用途不同,因此无法比较。一个给你一个指向不可修改文字的指针。另一个创建具有可修改内容的 C 字符串变量。这个问题是不合逻辑的。
-
@David 没有说指针必须是不可变的,事实上,大多数编译器都支持以这种方式使用可变文字。这只是未定义的行为。
-
@RichardJ.RossIII 我不是这么说的。我说“指向不可修改文字的指针”。字符串文字是不可修改的。
标签: c arrays string pointers char