指针05 – 零基础入门学习C语言45

第八章:指针05

让编程改变世界

Change the world by program

字符串与指针

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

例题一:定义一个字符数组,对它初始化,然后输出该字符串。

例题一源码分析学习!(点击下载源代码)

宽客网,量化投资,宽客俱乐部

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

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

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

例题二源码分析学习!(点击下载源代码)

字符串中字符的存取方法

对字符串中字符的存取,可以用下标方法,也可以用指针方法!

下标法举例:

将字符串a复制为字符串b

include

void main()

{

      char a[] = "Fishc.com is a good web site!", b[40];

      int i;

      for(i=0; *(a+i) != '?'; i++)

      {

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

      }

      *(b+i) = '?';

      printf("String a is: %sn", a);

      printf("String b is: ");

      for(i=0; b != '?'; i++)

      {

            printf("%c", b);

      }

      printf("nn");

}

指针方法举例:

将字符串a复制为字符串b

include

void main()

{

      char a[] = "Fishc.com is a good web site!", b[40], p1, p2;

      int i;

      p1 = a;

      p2 = b;

      for( ; *p1 != '?'; p1++, p2++)

      {

            p2 = p1;

      }

      *p2 = '?';

      printf("String a is: %sn", a);

      printf("String b is: ");

      for(i=0; b != '?'; i++)

      {

            printf("%c", b);

      }

      printf("n");

}

字符指针作函数参数

例题三:用函数调用实现字符串的复制

(1)用字符数组作参数

include

void  main()

{

      void  copy_string(char from[], char to[]);

      char a[] = "I am a teacher.";

      char b[] = "You are a student.";

      printf("string a = %snstring b = %sn", a, b);

      printf("copy string a to string b:n ");

      copy_string(a, b);

      printf("nstring a = %snstring b = %sn", a, b);

}

void  copy_string(char from[], char to[])

{

      int i = 0;

      while( from != '?' )

      {

            to = from;

            i++;

      }

      to = '?';

}

(2)形参用字符指针变量

include

void  main()

{

      void copy_string( char from, char to );

      char *a = "I am a teacher.";

      char *b = "You are a student.";

      printf("String a = %snString b = %sn", a, b);

      printf("copy string a to string b:n");

      copy_string(a, b);

      printf("nString a = %snString b = %sn", a, b);

}

void  copy_string( char from, char to )

{

      for( ; *from != '?'; from++,to++)

      {

            to = from;

      }

      *to = '?';

}

// 丫的,出错了,为什么? WHY??

// 哈哈,请听视频详细讲解^_^

视频下载
技术, IT技术, 视频教程, C语言

原文发布于宽客论坛,点击阅读原文


风险提示及免责条款

市场有风险,投资需谨慎。本文不构成个人投资建议,也未考虑到个别用户特殊的投资目标、财务状况或需要。用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部