C语言_第9章_指针.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言_第9章_指针

2000年1月25日 北京理工大学 / 指 针 C程序设计中使用指针可以: 使程序简洁、紧凑、高效 动态分配内存 得到多于一个的函数返回值 指针的概念 变量与地址 §1 数组与指针 数组与指针的关系 数组中的每个元素都可以通过下标唯一确定,即通过下标可以访问(操作)数组中的元素,称为下标方式(直接访问)。 在C语言中,凡是可以通过数组下标方式完成的访问(操作)均可以通过指针方式实现。称为指针方式(间接访问) 。 §1 数组与指针 概念复习 假设: int a[100]; 数组名:数组的标识 a 数组元素的地址:数组中 1个 具体元素的地址(a[k]) 数组首地址(数组起始地址):数组中第 1 个元素(0号元素)的地址(a[0]或用数组的名称 a 表示)。 C语言规定:数组名就是数组的首地址常量。 那么下面关系表达式成立: a == a[0] §1 数组与指针 例:分析程序。 #include stdio.h main ( ) { int a[ ] = { 1, 2, 3, 4, 5 } ; int x, y, *p;    /* 指针变量 p */ p= a[0]; x= *(p+2); y= *(p+4); printf (*p=%d, x=%d, y=%d\n, *p, x, y); } §1 数组与指针 例:分析程序。 main( ) { int a[ ] = { 1, 2, 3, 4, 5, 6 }; int *p; p=a; /* 指针p为数组的首地址 */ printf (%d, *p ); printf ( %d\n, *(++p) ); printf (%d, *++p ); printf ( %d\n, *(p--) ); p += 3; printf(%d %d\n, *p, *(a+3) ); } §1 数组与指针 在函数之间传递整个数组 实际参数用数组名。 形式参数可以使用数组名或者指针。 当形式参数使用指针时,在被调用函数的内部,就可用指针方式访问数组中的元素。 特别说明 由于数组名代表数组的首地址,传递数组名也就是将数组的首地址传递给被调用函数。 §1 数组与指针-串复制 例:编写字符串复制函数。 main( ) { char a[30], b[30]; printf(Enter string:); scanf (%s, a); strcopy ( a, b ); /* 调用函数的实参为数组名 */ printf (a=%s\nb=%s\n, a, b ); } strcopy ( str1, str2 ) /* 将串str1拷贝到串str2中 */ char * str1, * str2; /* 形参为指向字符的指针 */ { while ( (*str2 = *str1)!=’\0’) /* 通过指针操作数组 */ { str1++; str2++; } } §1 数组与指针-串复制 例:改进字符串复制函数。 改进一: strcopy ( str1, str2 ) char *str1, *str2; { while ( *str2 = *str1 ) { str1++; str2++; } } 改进二: strcopy ( str1, str2 ) char *str1, *str2; { while ( *str2++ = *str1++ ) ; /* 通过指针操作数组 */ } §2 指针的基本运算 对于指针的三种基本运算 指针与正整数的加减运算 两个指针的关系运算 两个指针的减法运算 与指针相关的运算操作 取地址运算( ) 取内容运算( * ) §2 指针的基本运算-指针加减运算 指针与正整数的加减法 当指针 p 指向数组中的元素时,n为正整数: p+n表示:指针p所指向当前元素之后的第n个元素 p-n表示:指针p所指向当前元素之前的第n个元素 p++和++p含义:指针加1,指向数组中的下一个元素 p--和--p含义:指针减1,指向数组中的前一个元素 §2 指针的基本运算-放大因子 运行程序,分析运行结果。 #include ”stdio.h” #define SIZE 4 main( ) {int dates[SIZE],*pti,index; float bills[SIZE],*ptf; pti=dates; ptf=bi

文档评论(0)

xyl118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档