【发布时间】:2010-09-21 00:47:27
【问题描述】:
我想清楚以下代码的所有优点/缺点:
{
char *str1 = strdup("some string");
char *str2 = "some string";
free(str1);
}
str1:
- 可以修改字符串的内容
str2:
- 您不必使用 free()
- 更快
还有其他区别吗?
【问题讨论】:
-
既不是优势也不是劣势,但
str2几乎肯定应该声明为const char*。如果你想要一个可修改的短字符串,char str1[] = "some string";很好。