字符串的指针
视频锁定
{$ currentTime | date:'mm:ss' $}
{$ timeLeft | date:'mm:ss' $}
在前面学习数组时我们知道字符串跟字符数组差不多,只不过字符串是以"\0"
为结束符的。我们可以这样声明一个字符串:
char str[]="i like C language";
str就是这个字符串的数组名,也就是首地址。打印这个字符串:
printf("%s",str);
//这里打印使用的是%s,s就代表string,字符串的意思
我们知道指针可以指向数组,那么指针也能指向字符串,该怎么指向呢?
char *ps = "i like C language too";
这时指针ps指向了上面这个字符串的首地址,如果ps+1就指向了字符串的第二个字符的地址,根据这个原理我们可以很方便的找到这个字符串中第五个字符是什么。*(ps +4)
就是第五个字符的的内容,想打印第五个字符的话:
printf("%c",*(ps+4));
注意
- 打印字符串使用
%s
,打印时要提供开始的地址(不能是地址中的内容),计算机会把这个地址到结束符"\0"
之间的内容全部打印出来。 - 打印字符使用
%c
,这个只能打印一个字符,且必须提供地址中存的内容。 这也就是为什么使用printf
语句时,字符串打印时指针不带*
号,而字符必须带有*
号。
在线练习
{$ activeFileHint $}