关于C字符串的一些问题:
char*
和char[]
都是指针?char*
是一个指针,但为什么它会自动成为一个字符串,而不仅仅是一个指向1个字符的char指针;为什么它能保持字符串?char*
指针指定一个新值时,实际上是在内存中分配新空间来存储新值,与其他指针不同,您只需替换存储在其中的值。指针指向的内存地址?答案 0 :(得分:1)
char *s
是一个指针,char s[]
是一个字符数组。实施例
char *s = "hello";
char c[] = "world";
s = c; //Legal
c = address of some other string //Illegal
char *s
不是字符串;它指向一个地址。实施例
char c[] = "hello";
char *s = &c[3];
分配指针不会创建内存;你指着记忆。实施例
char *s = "hello";
在此示例中键入" hello"你正在创建特殊的内存来保存字符串"你好"但这与指针无关,指针只指向那个位置。