字符数组
C语言中没有特定的字符串类型,通常是将字符串放在一个字符数组中。
字符串指针
除了字符数组,C语言还支持另外一种表示字符串的方法,就是直接使用一个指针指向字符串。
char *str = "leetcode";
char *str;
str = "leetcode";
字符串中的所有字符在内存中是连续存放的,str指向的是字符串的第0个字符,即字符串的首地址;字符串中的每个字符的类型都是char
,所以str的类型必须是char*
。
区别
字符数组存储在全局数据区或栈区,全局数据区和栈区的字符串(包括其他数据)有读取和写入权限。
字符串指针存储在常量区,常量区的字符串(也包括其他数据)只有读取权限,没有写入权限。