在C语言中,存储字符串的方式有两种:字符数组和字符指针。前面已经掌握了使用字符数组来存储字符串,下面学习如何使用字符指针来存储字符串。
用字符指针指向一个字符串,可以不用声明一个字符数组,而是声明一个字符指针,用字符指针指向字符串中的字符。例如:
void main()
{
char* pstr = "Hello World";
printf("%s",pstr);
}
在上面的代码中,没有声明一个字符数组,而是在程序中声明了一个字符指针变量pstr,用字符串常量"Hello World",对它进行初始化。C语言对字符串常量是按字符数组处理的,在内存中开辟了一个字符数组用来存放该字符串常量。对字符指针变量初始化,实际上是把字符串第1个元素的地址(即存放字符串的字符数组的首元素地址)赋给pstr。
字符指针指向字符串后,字符串的值不能被修改,但可以通过索引访问字符串的单个字符,也可以访问整个字符串,并适用于所有的字符串处理函数。