<分区>
谁能给我解释一下这些代码行之间的区别
char *p = "String";
char p2[] = "String";
char p3[7] = "String";
我应该在什么情况下使用以上各项?
标签 c
<分区>
谁能给我解释一下这些代码行之间的区别
char *p = "String";
char p2[] = "String";
char p3[7] = "String";
我应该在什么情况下使用以上各项?
最佳答案
This link应该能满足你的好奇心。
基本上(忘记你的第三个例子是坏的),1 和 2 之间的区别是 1 为指向数组的指针分配空间。
但在代码中,您仍然可以将它们作为指针来操作——唯一的问题是,您不能重新分配第二个。
关于c - 如何在 C 中声明字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8732325/