C程序指针1颜色.docVIP

  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程序指针1颜色

C程序设计讲义 指针1 教学目的: 掌握的定义 理论 教学条件: 多媒体 教学内容: 复习:函数的定义及如何使用函数? 新课: 指 针 1.相关概念 1.1 变量的地址 如果在程序中定义了一个变量,编译时,就给这个变量分配内存单元。系统根据程序定义的变量类型,分配一定长度的空间。 画图分析 1.2 数据的访问方式 直接访问: 间接访问: 1.3 指针和指针变量 一个变量的地址称为该变量的指针。如果有一个变量专门用来存放另一变量的指针,则称其为指针变量。 2.指针变量的定义和使用 2.1 指针变量的定义 C语言规定,所有变量在使用前必须定义,指定其类型,并按此分配内存单元。指针变量不同于其他变量,专门用来存放地址的。 int i,j; int *pointer_1,*pointer_2; 定义指针变量的一般形式:基类型 *指针变量名 float *pointer3; float *pointer4; 注意: 指针变量前面加“*”,表示该变量的类型为指针类型变量。 在定义指针变量时必须指定基类型。 2.2指针变量的初始化和赋值 1.通过求地址运算符()获得地址值 例如: 定义”int k=1,*q”; scanf(“%d”,a); 2.通过指针变量获得地址值 通过赋值运算,把一个指针变量的值赋给另一个指针变量,使这两个指针指向同一地址。 例如:int k,*p=k,*q; 语句q=p;使指针变量q中也存放变量k的地址,即变量p和变量q都指向k 3.通过调用库函数获得地址值 malloc()和calloc() 4.给指针变量赋空值 可以给指针赋NULL 2.3 指针变量的引用 取地址运算符 *指针运算符 和*两个运算符的优先级别相同,按自右至左的方向结合。 例题9-1:通过指针变量访问整型变量。 main() { int a,b; int *p1,*p2; a=100; b=10; p1=a;p2=b; printf(%d,%d\n,a,b); printf(%d,%d\n,*p1,*p2); } 例题9-2:输入a和b两个整数,按照从大到小的顺序输出。 main() { int *p1,*p2,*p,a,b; scanf(%d,%d,a,b); p1=a;p2=b; if(ab); { p=p1; p1=p2; p2=p; } printf(\na=%d,b=%d\n\n,a,b); printf(max=%d,min=%d\n,*p1,*p2); } 2.4指针的运算 1.在指针值上加减一个整数 指向数组或字符串的指针变量,可以加上或减去一个整数n,表示把指针指向的当前位置(指向某数组元素)向前或向后移动n个位置。 2.指针变量的减法运算 3.指针变量的关系运算 4.指针变量做函数参数 例题9-3:判断程序能否交换主函数中a和b的值 main() { int a=1,b=2; printf(1:a=%d,b=%d\n,a,b); swap(a,b); printf(3:a=%d,b=%d\n,a,b); } swap(int *p,int *q) { int c; c=*p; *p=*q; *q=c; printf(2:%d,%d\n,*p,*q); } 例题9-4 对输入的两个整数,按大小顺序输出。 swap(int *p1,int *p2) { int temp; temp=*p1; *p1=*p2; *p2=temp; } main() { int a,b; int *pointer_1,*pointer_2; scanf(%d,%d,a,b); pointer_1=a; pointer_2=b; if(ab) swap(pointer_1,pointer_2); printf(\n%d,%d\n,a,b); } 例题9-5 输入a,b,c3个整数,按大小顺序输出。 swap(int *pt1,int *pt2) { int temp; temp=*pt1; *pt1=*pt2; *pt2=temp; } change(int *q1,int *q2,int *q3) { if(*q1*q2) swap(q1,q2); if(*q1*q3) swap(q1,q3); if(*q2*q3) swap(q2,q3); } main() { int a,b,c,*p1,*p2,*p3; scanf(%d,%d,%d,a,b,c); p1=a;p2=b;p3=c; change(p1,p2,p3); printf(\n%d,%d,%d\n,a,b,c); } 课后总结: 掌握的定义 课程 C程序设计 教师 邓绯 班

文档评论(0)

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

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

1亿VIP精品文档

相关文档