C语言中没有字符串的概念,他是有序的字符集合,只不过是通过特殊的字符数组以“\0”结尾模拟字符串。双引号引用的多个或单个字符是一种特殊的字面量,存储于全局只读存储区。例如:“abc”可以模拟认为是一个无名的字符数组,“abc”可以看做常量指针,指向全局只读存储区“abc”的’a’的地址(相当于字符数组首元素地址)。所以定义:char b=“abc”[0];就是将‘a’赋值给变量b。也可以定义为:char b=*(“abc”);一定要注意char a[]=“abc”;说明a是字符数组,将“abc”赋值给数组共四个元素。char a=“abc”;说明a是指针,指向字面量“abc”,位于全局只读存储区,是不可以改变的字面量。
str是指针变量,其中存放的是在常量区存放的字符串首地址用%s输出时,printf语句要求提供字符串首地址,给出str变量存放的首地址即可str是str指向的单元,即字符串第1个字符的内容’h’,类型是char,并不是地址(指针)类型(格式记住)
C语言之字符串
最新推荐文章于 2023-04-15 23:12:33 发布