物联网学习教程—字符串与指针

132 阅读1分钟

  字符串的表示形式

  (1)用字符数组存放一个字符串,然后输出该字符串。

  例:定义一个字符数组,对它初始化,

  然后输出该字符串

  #include<stdio.h>

  void main()

  {char string[]=″I love China!″;

  printf(″%s\n″,string);

  }

  (2)用字符指针指向一个字符串。

  可以不定义字符数组,而定义一个字符指针。用字符指针指向字符串中的字符。

  例1:定义字符指针

  #include<stdio.h>

  void main()

  {charstring=″I love China!″;

  printf(″%s\n″,string);

  }

  例2:将字符串a复制为字符串b。

  #include<stdio.h>

  voidmain()

  {chara[]=″Iam a boy.″,b[20];

  inti;

  for(i=0;*(a+i)!=′\0′;i++)

  (b+i)=(a+i);

  *(b+i)=′\0′;

  printf(″string a is:%s\n″,a);

  printf(″string b is:″);

  for(i=0;b[i]!=′\0′;i++)

  printf(″%c″,b[i]);

  printf(″\n″);

  }

  也可以设指针变量,用它的值的改变来指向字符串中的不同的字符。

  例3:用例3指针变量来处理例2的问题。

  #include<stdio.h>

  void main()

  {chara[]=″I am a boy.″,b[20],*p1,*p2;

  inti;

  p1=a;p2=b;

  for(;*p1!=′\0′;p1++,p2++)

  p2=p1;

  *p2=′\0′;

  printf(″stringais:%s\n″,a);

  printf(″stringbis:″);

  for(i=0;b[i]!=′\0′;i++)

  printf(″%c″,b[i]);

  printf(″\n″);

  }

  程序必须保证使p1和p2同步移动