C语言:字符数组 + 字符串指针

字符数组

C语言中没有特定的字符串类型,通常是将字符串放在一个字符数组中。

字符串指针

除了字符数组,C语言还支持另外一种表示字符串的方法,就是直接使用一个指针指向字符串。

char *str = "leetcode";

char *str;
str = "leetcode";

字符串中的所有字符在内存中是连续存放的,str指向的是字符串的第0个字符,即字符串的首地址;字符串中的每个字符的类型都是char,所以str的类型必须是char*

区别

字符数组存储在全局数据区或栈区,全局数据区和栈区的字符串(包括其他数据)有读取和写入权限。

字符串指针存储在常量区,常量区的字符串(也包括其他数据)只有读取权限,没有写入权限。

原文地址:https://www.cnblogs.com/xiaobaizzz/p/12450614.html