C语言----指针.pptVIP

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

指针是C语言中的一个重要的概念,也是c语言的一个重要特色。正确而灵活地运用它,可以有效地表示复杂的数据结构;能动态分配内存;能方便地使用字符串;有效而方便地使用数组;在调用函数时能得到多个的值;能直接处理内存地址等,这对设计系统软件是很必要的。掌握指针的应用,可以使程序简洁、紧凑、高效。每一个学习和使用C语言的人,都应当深入地学习和掌握指针。可以说,不掌握指针就不掌握C语言的精华。 指针的概念比较复杂,使用也比较灵活,因此初学时常会出错,务请在学习本章内容时十分小心,多思考、多比较、多上机,在实践中掌握它。 一、指针的概念 指针就是地址。 有变量的、数组的、函数的、字符串的指针等。 1、内存的访问方式 1)直接访问 如:i=2, j=6, k=9过变量名i、j、k 来访问存储单元。 2)间接访问 如变量 i,不知道其值及地址,而只知道它的地址放在3010、3011中,因此可通过存放地址的单元找到变量 i 的值,此为间接访问。 对间接访问,可定义一变量存放地址,如定义 i_pointer, 赋值 i_pointer=i 二、变量的指针和指向变量的指针变量 1、指针变量的定义 一般形式: 类型标识符 *变量名 如:int *p1; char *p2; float *p3; 说明:(1) * 表示指针型变量,意为“指向…..的指针” (2) 指针变量应有确定的指向的数据类型。 2、指针变量的引用 1)给指针变量赋值 赋变量的地址 如: p1=i 一般不直接赋数值。 *p1的意义为p1所指向的变量i, *p与i是一回事,i=3; 则*p1也为3。 2)用指针变量对变量赋值 如: int i , j , *p; p=i; *p=3; j=*p+2; “p=i”的意义为指针变量p指向变量 i 。 注意:p是地址变量,而*p 是非地址变量,与i是一回事。 “*”:为指针运算符或叫指向运算符、间接运算符,为单 目运算符。 例1 main() { int a,b; int *pointer_1,*pointer_2; a=100;b=10; pointer_1=a; /*把变量a的地址赋给pointer_1*/ pointer_2=b; /*把变量b的地址赋给pointer_2*/ prinif(“%d,%d\n”, a,b); printf(“%d,%d\n”, *pointer_1,*pointer_2); } 运行结果为: (1)结合性:自右向左 如:int a, b, *p1, *p2; p1=a; p2=b; *p1=? 相当于 (*p1) 等于 (*p1)=(a)=a=p1 *a 相当于 *(a)=a 所以,* 和 * 相当于单位算符。 (2)优先级:处于第二位 [例2]输入a和b两个整数,按先大后小的顺序输出a和b。 main() { int *p1,*p2,*p, a, b; scanf(%d,%d“,a,b); p1=&a; p2=&b; if (a<b) {p=p1;p1=p2;p2=p;} printf (\na=%d,b=%d\n”,a,b); printf(max=%d,min=%d\n,*p1,*p2); } 运行情况? 交换地址(指针变量),使p1指向大数b,而变量a、b未变。 功能:将一个变量的地址传送到另一函数中,实参和形参均用指针。 例3 对输入的两个整数按大小顺序输出。 现用函数处理,而且用指针类型的数据作函数参数。程序如下: swap(int *p1,int *p2

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档