第十二讲 指针(二)ppt课件.ppt

第十二讲 指针(二)ppt课件.ppt

ID:59011178

大小:231.00 KB

页数:33页

时间:2020-09-26

第十二讲 指针(二)ppt课件.ppt_第1页
第十二讲 指针(二)ppt课件.ppt_第2页
第十二讲 指针(二)ppt课件.ppt_第3页
第十二讲 指针(二)ppt课件.ppt_第4页
第十二讲 指针(二)ppt课件.ppt_第5页
资源描述:

《第十二讲 指针(二)ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、指针(一)学习要求了解地址和指针的概念熟练掌握变量的指针和指向变量的指针变量熟练掌握数组和指针掌握字符串和指针了解指向函数的指针一般了解返回指针值的函数、指针数组、指向指针的指针等地址的概念在程序中进行变量声明时,系统会给变量分配内存单元。编译系统根据变量的类型分配一定长度的空间。内存的每个存储单元都有编号(地址)。在程序中用的变量名,编译系统都转换成相应的变量地址。……369……i→2000j→2004k→2008内存用户数据区inti,j,k;scanf(“%d”,&i);j=6;k=i+j;printf(“%d”,k);直接访问指针的概念地址的作用就是指向变量,在C

2、语言中将地址形象化地称为“指针”。将要访问的变量地址(指针)存放在另一个变量中,通过这个指针找到要访问的变量地址,然后进行变量值的读写。这种访问方式称为“间接方式”。内存用户数据区……3……i→2000inti;int*i_pointer;i_pointer=&i;*i_pointer=3;2000i_pointer→3010将数值3放到变量i_pointer所指向的存储单元。“间接方式”指针的概念内存单元地址内容变量intx=20,y=1,z=155;printf("%d",x;)直接访问:通过变量名访问间接访问:通过另一个变量访问把变量的地址放到另一变量中使用时先找到

3、后者再从中取出前者的地址100020x10041y1008155z20001000px2004地址指针变量指针变量在C语言中,可以定义一种变量用于存放指针(变量的地址)。这种变量称为指针变量。上例中,变量i的地址是2000。或者说变量i的指针是2000。上例中,变量i_pointer是指针变量,存放的是变量i的指针。用*符号表示“指向”,上例*i_pointer=3;表示将3赋值给i_pointer所指向的变量。(间接方式)该语句与i=3;等效(直接方式)。指针内存单元地址内容变量intx=20,y=1,z=155;printf("%d",x;)100020x10021y

4、1004155z20001000px2002地址指针变量指针变量:存放地址的变量某个变量的地址指向指针变量的定义变量必须先定义再使用,指定类型,并据此分配内存单元。指针变量用来存放变量的地址,也要定义和指定类型。定义格式:类型*指针变量名;例:int*i_pointer,*j_pointer;float*f1,*f2;char*pointer1;注意:指针变量类型必须和指向的变量类型一致。因为指针运算如pointer1++;的结果与指针类型有关。floatx;int*pp=&x;指针变量的引用指针变量只能存放地址,不要直接将一个整数或其他非地址类型的数据赋给指针变量。与指

5、针变量有关的运算符:&:取地址运算*:指针运算符,取其指向的内容例:inti,*i_pointer;i_pointer=&i;*i_pointer=1;程序阅读intmain(){inta,b;int*p1,*p2;p1=&a;p2=&b;a=10;b=100;printf("%d,%d",a,b);printf("%d,%d",*p1,*p2);*p1=-10;*p2=-100;printf("%d,%d",a,b);}//定义整型指针变量p1和p2//p1存放a的地址、p2存放b的地址//输出p1和p2指向的内容//将p1指向的内容赋值为-10//将p2指

6、向的内容赋值为-100指针变量的引用图示1、*&a含义是什么?&ap1a如果有inta,*p1;p1=&a;*p12、&*p1含义是什么?3、(*p1)++含义是什么?先指向a,再使a自增4、*p1++含义是什么?相当于*(p1++)先指向a,再使p1自增*&++--右结合性指针变量应用实例输入两个整数,按先大后小的顺序输出。intmain(){inta,b;int*p1,*p2,*p;p1=&a;p2=&b;scanf("%d,%d",p1,p2);printf("a=%d,b=%d",a,b);if(a

7、x=%d,min=%d",*p1,*p2);}&ap1a&bp2bp&a&b思考:printf("max=%d,min=%d",a,b);指针变量应用实例设计一个函数,交换两个变量的值。voidswap(intx,inty){inttemp;temp=x;x=y;y=temp;}intmain(){inta,b;voidswap(int,int);scanf("%d,%d",&a,&b);printf("a=%d,b=%d",a,b);swap(a,b);printf("a=%d,b=%d",a,b);}abx

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。