字符串的引用方式
(1)字符数组
(2)字符指针变量
char *string = "I love China!";
等价于
char *string;
string = "I love China!"; //把字符串第一个元素的地址赋给字符指针变量string
字符串的输出:一个个字符输出%c 整个字符串输出%s
在内存中,字符串的最后被自动加了一个 ‘\0’ (字符串结束标志)
一个简单的例子:
#include <stdio.h>int main()
{
char a[] = "I am a boy.", b[20];
char *p1, *p2;
p1 = a; p2 = b;
for (; *p1 != '\0'; p1++, p2++)
*p2 = *p1;
*p2 = '\0';
printf("string a is:%s\n", a);
/*printf("string b is:%s\n", b);*/
p2 = b;
printf("string b is:");
for (int i = 0; *p2 != '\0'; i++, p2++)
printf("%c", *p2);
printf("\n");
return 0;
}
重点!使用字符指针变量和字符数组的比较:教材P263~266
再次强调,指针变量定义后,要指定数组或字符串。即 要对应起来,联系起来。
回顾:地址传递 即在被调用的函数中可以改变值,在主调函数中可以引用改变后的值。
(1)数组名作为参数 (2)指针变量作为参数