第八章:指针05

让编程改变世界

Change the world by program


字符串与指针

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

例题一:定义一个字符数组,对它初始化,然后输出该字符串。 例题一源码分析学习!(点击下载源代码)   [caption id="attachment_157" align="aligncenter" width="300"] 用字符数组存放一个字符串,然后输出该字符串[/caption]

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

例题二:可以不定义字符数组,而定义一个字符指针。用字符指针指向字符串中的字符。 例题二源码分析学习!(点击下载源代码)

字符串中字符的存取方法

对字符串中字符的存取,可以用下标方法,也可以用指针方法! 下标法举例: 将字符串a复制为字符串b [codesyntax lang="c"]

#include <stdio.h>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] != '�'; i++){printf("%c", b[i]);}printf("nn");
}

[/codesyntax] 指针方法举例: 将字符串a复制为字符串b [codesyntax lang="c"]

#include <stdio.h>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] != '�'; i++){printf("%c", b[i]);}printf("n");
}

[/codesyntax]

字符指针作函数参数

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

(1)用字符数组作参数 [codesyntax lang="c"]

#include <stdio.h>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[i] != '�' ){to[i] = from[i];i++;}to[i] = '�';
}

[/codesyntax]   (2)形参用字符指针变量 [codesyntax lang="c"]

#include <stdio.h>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??
// 哈哈,请听视频详细讲解^_^

[/codesyntax] [buy] 获得所有教学视频、课件、源代码等资源打包 [/buy] [Downlink href='http://kuai.xunlei.com/d/LWZJZAVZUVZQ']视频下载[/Downlink]

转载于:https://www.cnblogs.com/LoveFishC/archive/2011/02/06/3846042.html

指针05 - 零基础入门学习C语言45相关推荐

  1. 函数05 - 零基础入门学习C语言36

    第七章:函数05 让编程改变世界 Change the world by program 函数的嵌套调用 嵌套定义就是在定义一个函数时,其函数体内又包含另一个函数的完整定义. 然而,C语言不能嵌套定义 ...

  2. 指针01 - 零基础入门学习C语言41

    第八章:指针01 让编程改变世界 Change the world by program 指针啥玩意?似乎很神秘? 指针是C语言中的一个重要的概念,也是C语言的一个重要特色. 正确而灵活地运用它,可以 ...

  3. 结构体与共用体05 - 零基础入门学习C语言57

    第十章:结构体与共用体05 让编程改变世界 Change the world by program 对链表结点的删除操作实现 实现源代码: [codesyntax lang="c" ...

  4. 指针02 - 零基础入门学习C语言42

    第八章:指针02 让编程改变世界 Change the world by program 对"&"和"*"运算符再做些说明 如果已执行了语句 point ...

  5. 指针07 - 零基础入门学习C语言47

    第八章:指针07 让编程改变世界 Change the world by program 对使用字符指针变量和字符数组的讨论 虽然用字符数组和字符指针变量都能实现字符串的存储和运算,但它们二者之间是有 ...

  6. 循环控制结构程序05 - 零基础入门学习C语言20

    第五章:循环控制结构程序05 让编程改变世界 Change the world by program break和continue语句 break语句 break语句可以用来从循环体内跳出循环体,即提 ...

  7. 指针06 - 零基础入门学习C语言46

    第八章:指针06 让编程改变世界 Change the world by program 字符指针作函数参数 出错了:关于a[]和*a的一些区别! [codesyntax lang="c&q ...

  8. 指针08 - 零基础入门学习C语言48

    第八章:指针08 让编程改变世界 Change the world by program 返回指针值的函数 一个函数可以带回一个整型值.字符值.实型值等,也可以带回指针型的数据,即地址. 其概念与以前 ...

  9. 指针04 - 零基础入门学习C语言44

    第八章:指针04 让编程改变世界 Change the world by program 小结 归纳起来, 如果有一个实参数组, 想在函数中改变此数组中的元素的值, 实参与形参的对应关系有以下4种情况 ...

最新文章

  1. php5.3.3下安装ffmpeg
  2. [ffmpeg]安装
  3. apache 创建多端口监听
  4. windows 技术篇 - uispy 工具获取和使用,windows窗口属性快捷查看工具
  5. 更改setting文件的mirror_setting.xml的mirror、mirrorOf和pom.xml的repositories、repository的关系关联*...
  6. c语言在win8系统不兼容,Win8系统中存在不兼容软件怎么办?
  7. hive 分区_代码 | Spark读取mongoDB数据写入Hive普通表和分区表
  8. javascript-数组数据类型属性和方法-数组的遍历
  9. 使用Java Mail接收 Gmail 电子邮件
  10. JavaSE 编写第一个程序
  11. Automated SQL Injection Detection
  12. 从千播大战到不足百家,倒闭潮之下直播创业何去何从?
  13. python输出图形效果的代码_使用Python实现图像标记点的坐标输出功能
  14. 控制科学与工程(自动化)保研经验【2】——南开、同济篇
  15. 代码随想录训练营day1
  16. 1000x计算机 案例解析,索尼WI-1000X耳机连接win10电脑方法讲解
  17. 什么是微分,dy又是什么
  18. python读什么-python读什么
  19. [面试经历]偶最近做过的面试题~
  20. 雅可比矩阵 和 海森矩阵

热门文章

  1. Docker入门与实践
  2. 机器学习数学基础:常见分布与假设检验
  3. Meta祭出元宇宙「阿拉丁神灯」!LeCun称世界模型将带来像人一样的AI
  4. 计算机视觉工程师一天都大致在做些什么?
  5. 双料状元收割神器来了!清华设立计算机金融双学士学位
  6. 我,斯坦福AI读博,李飞飞是师娘,5年5篇顶会论文,依然一度抑郁怀疑人生
  7. 为什么使用缩进来分组语句?15个为什么,帮助你更好的理解Python!
  8. 利用Github+Jeklly搭建个人博客网站
  9. 数据统计之用户总量统计
  10. MySQL数据库内连接查询inner join...on