c - 如何在 C 中声明字符串

标签 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/

相关文章:

c++ - 将调试部分留在源代码中是一种好习惯吗?

c - 如何打印带父节点的层序二叉搜索树

c - 防止 OpenGL 缓冲帧

将文件复制到C中的字符串

c - 打印笑脸

c++ - Windows 7(或更高版本)中事件可见 HWND 的数量是否会显着影响性能?

c - 如何使用 ***prof 之类的东西来查找哪个函数的计算复杂度最高?

c - C switch 语句中的意外(和未处理)值

c - 64位系统如何添加n个字节

c - 从 C 中的文件中单次访问读取 N 个整数