有人能解释一下这些代码行之间的区别吗
char *p = "String";
char p2[] = "String";
char p3[7] = "String";
在什么情况下,我应该使用上述每一项?
有人能解释一下这些代码行之间的区别吗
char *p = "String";
char p2[] = "String";
char p3[7] = "String";
在什么情况下,我应该使用上述每一项?
This link美元应该能满足你的好奇心.
基本上(忘记第三个不好的例子),1和2之间的区别在于1为指向数组的指针分配空间.
但在代码中,您仍然可以将它们作为指针进行操作——唯一的一点是,您无法重新分配第二个指针.