通常引用字符串是把其放入一个数组中,通过指针的学习,发现,指针同样可以引用字符串,且更有效率。
旧方法:定义一个数组a【】=“所要引用的字符串”。
新方法:定义一个指针(字符型)char *string=“所要引用的字符串”,也称对指针变量string的初始化。
这个需要解释一下,c语言对字符串常量是按字符数组处理的会自动划分一个连续的存储空间。此时string就代表了该字符串常量的第一个字符。
初始化实际上就是字符串常量的每个元素的地址赋给sting。
在c语言中,只有字符变量,没有字符串变量。
char *string=“所要引用的字符串”
等价于 char *string;
string=“所要引用的字符串”
另外指针变量可以再赋值,也就是用另个字符串赋值。
输出字符串常量一般用%s,在这期间识别到‘\0’即结束(系统一般会自己加,不用手动加)
注意:通过字符数组名和字符指针变量可以输出一个字符串,而对一个数值型数组,是不能用数组名来输出全部元素
如int a【10】
printf(“%d”,a);
在字符数组中的特殊用法,在数组有效字符后加'\0'可通过赋值也就是所后面要加的有效字符='\0'。
注意:如果是逐字赋值过去,需要在有效字符后手动加\0,若整体则本身字符间就有\0,当然,若短字符串复制给长字符串长字符串有未被赋值的,需要加\0不让其显示出来