我了解到声明字符数组的传统方式如下:
char c[] = "John";
但是,我也注意到您可以将其声明为:
char *c = "John";
这到底是如何工作的?我知道这与指针有关,但有人可以详细说明吗?任何帮助将不胜感激。
最佳答案
在第一个示例中,c
是一个char
数组。但在:
char *c = "John";
这里的 c
不是一个数组,而是一个指向字符串文字的指针(类型为 char *
)。指针和数组在 C 中是不同的类型。
如果您想了解指针和数组,下面是一个很好的链接:
关于c - C 中的指针和数组 - 极其困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18323967/