例一、概念判断
#include<stdio.h>
int main()
{
charp[]="abc";
charq[]="abc";
char*p1="abc";
char*q1="abc";
if(p==q)
printf("%d",1);
if(p1==q1)
printf("%d",2);
}
运行结果:2
要点:定义时,数组p、q已经开辟了不同的内存空间,而指针p1、q1则指向同一数组的首地址,地址里面的值也是相同的。
例二:交换数值
int main()
{
intx=1,y=3;
swap(&x,&y);
}
int swap(int *a,int *b)
{
intt=*a;
*a=*b,*b=t;
printf("%d,%d",*a,*b);
}
运行结果:3,1
例三、英文字母大小写转换
#include<string.h>
int main()
{
chara[20]="a2b4cd58eF9G";
inti;
for(i=0;i<strlen(a);i++)
{
if(a[i]>='A'&&a[i]<='Z')
a[i]=a[i]+32;
elseif(a[i]>='a'&&a[i]<='z')
a[i]=a[i]-32;
printf("%c",a[i]);
}
}
例四、将字符串12345转换为数字12345
#include<stdio.h>
int main()
{
char*a="12345";
intnum=0;
while(*a)
{
num=num*10+*a-'0';
a++;
}
printf("%d",num);
}