- 1、本文档共53页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言程序设计十章指针
第十章 指 针Pointers 几个概念 指针变量与普通变量的区别 10.1.2 指针变量的说明 10.1.3 指针变量的使用 10.1.5 引用指针变量 10.2 指针变量作函数参数 通过指针参数使函数返回多个值 10.2.2 函数的返回值为指针 10.2.3 指向函数的指针 二.函数指针变量的定义 10.3 数组与指针 指针操作与数组元索的关系 10.3.2 指针的算术运算 2. 指针的关系运算 例题:输出数组全部元素 例10-11 给定某年某月某日,将其转换成这一年的第几天并输出。 §10.5 指针数组 10.5.1 指针数组与数组指针 例10-26 对一批程序设计语言名从小到大进行排序并输出 10.5.2 指针数组作main函数的形参 例: copy命令格式如下: copy a:*.* c: 功能:将a盘上的所有文件拷贝到 c 盘 问题:如何用c实现,参数 “a:*.*”, “c:”如何带入程序 实现:main带参数方法 10.6 多级指针 所指类型为指针, 一般用来表示一个指针数组的首地址。 二、使用方式 (1) 定义 (2) 赋初值:赋地址 在使用指针变量前,必须先赋初值 (3) 操作 : 地址操作(行\列) 内容操作(间接访问) ,*,+,- 运算符 三、应用 数组:一维,二维,字符串 (重点) 数组元素的表示方式 数组名+下标、地址、指针、指针+下标 指针使用方式 固定指针:将a换成p即可 移动指针:一维__ 每次移动一个元素 二维__ 每次移动一行 做参数时,共享数组空间 结论:*a是 a[0] 的内容,即数组元素 a[0][0] 的地址。 **a,即*a[0] 是数组元素 a[0][0]。 /*第0行表示非闰月时每个月的天数*/ /*第1行表示闰月时每个月的天数*/ /*多于数据*/ /*实际参数传数组*/ /*判断是否为闰月:0-非闰月,1-闰月*/ /*从第1月到mouth月累加每月天数*/ 计算第 i个月天数值存放地址 §10.4 字符串和指针 10.4.1 字符数组和字符指针 字符数组 char s[ ]=“this is a string”; 用字符指针实现字符串 t h i s i s a s t r i n g \0 s[3] s[2] s[1] s[0] s[6] s[7] s[5] s[4] s[10] s[11] s[9] s[8] s[15] s[14] s[13] s[12] s[16] (1)指向字符数组 char *p , ss[]=“ok”; p=s; /*p初始指向s数组的首地址*/ s[8]=‘A’ /*改变字符数组中保存的值*/ p=s+8; /*改变p的指向位置 */ p=ss; /*指向另一个字符数据*/ printf(“string is %s\n”,p); ss =ss+1 ; 指针p A o k \0 ss[2] ss[1] ss[0] 出错: 字符数组名值不能改变 (2)直接定义字符串常量 char *string=Happy!; (3)直接赋予字符串常量 char *string; string=Happy! H a p p y \0 指针string 注意: 指向字符串常量的指针不能被修改另指其他。 如上面的string,操作 string=string+5 ; 出错 (2) 字符串常量可以赋给字符指针,不能赋给数组 即:char s[] ; s[]=“Happy”; 出错 可修改为: strcpy(s, “Happy”); 10.4.2 常见的字符串操作 #include “stdio.h” main() { char a[40] , b[40] ; char *strcpy(char *, char *); int strlen(char *); char *strcat(char *, char*); gets(a) ; printf(“b=%s\n”, strcpy(a,b) ); printf(“len=%d\n”,strlen(a)); g
文档评论(0)