C语言字符串常量
一.字符串常量的声明
char *p = "hello";//指针直接往上戳
一个字符串常量为什么会给一个指针赋值? 字符串常量的值是该字符串第一个字母的首地址
敲一段代码验证一下
结论:字符串本身是有值的,就是第一个字符的地址。
因为它的值是地址,所以可以这样用
还有一条:同一个字符串常量,它们的值(地址)相同
二.注意事项
1.字符串常量和字符数组不同,无法通过下标(指针间接引用)来直接修改。
2.如果要修改字符串的值,我们只能使用字符数组的形式来存储字符串,可以这样声明:char str[] = "hello";,这样就可以修改了,它两本质上的不同是存储的位置不同。