一、字符串
在C语言中并没有字符串这个数据类型。通常借助与字符数组来存储字符串的。字符指针可以存储字符串的起始地址,即指针指向字符串的第一个字符。这样,我们可以用指针来处理字符串。
例1:使用字符指针来操作字符串,实现字符串的反转功能。
#include<stdio.h>
#include<string.h>
int main(int argc ,char *argv[])
{
char s[10];
char *p,*q,t;
printf("input a string");
scanf("%s",s);
p=s;//将字符串s的首地址赋给p,即p指向了字符串s。
q=s+strlen(s)-1;//q指向了字符串s的末尾,即指向了字符串s的最后一个字符
while(p<q)
{
t=*p;
*p=*q;//将最后一个字符调到最前
*q=t;
p++;
q--;
}
printf("s\n",s);
return 0;
}
程序的执行效果如下:
linux@ubuntu:~wang/ch7$./a.out
input a string:
welcome
emoclew
在该程序中,使用字符串为字符数组赋值。指针p指向字符串的第一个字符,
指针q指向字符串的最后一个字符(结束符\0之前的字符),通过p++,q-- 来
让指针分别指向待交换的两个字符。