关于char * ,char a[ ] , string

导语
借此理解数组名和数组首地址

  1. c 语言中没有 string 类型, 用 char 类型的数组来表示string,也就是 一串内存地址连续的 char

  2. \0 是字符串的结束符

  3. “asfkhj” 双引号中的内容表示一个常量字符串 const string,本质是一个地址,是第一个字符的地址

  4. char* 表示一个指针变量,当然可以用一个地址来赋值

  5. char a[ ] 表示一个字符串数组,a 是数组名,是const 常量,只能初始化,不能直接赋值,a也表示数组的首地址,也就是第一个元素的地址a[0]

1
2
3
4
5
6
7
8
9
const char* p;
char buff[16] = { "it's a string" };
p = "it's a string";
p = buff;
printf("%p \n", p);
printf("%p \n", buff);
printf("%p \n", &buff[0]);

打印结果一致,所有相同的字符串常量都是同一个地址
------------- 感谢您的阅读-------------
作者dreamingpoet
有问题请发邮箱 Dreamingoet@126.com
您的鼓励将成为创作者的动力