c语言程序设计----指针ppt课件

c语言程序设计----指针ppt课件

ID:17971728

大小:560.00 KB

页数:70页

时间:2018-09-12

c语言程序设计----指针ppt课件_第1页
c语言程序设计----指针ppt课件_第2页
c语言程序设计----指针ppt课件_第3页
c语言程序设计----指针ppt课件_第4页
c语言程序设计----指针ppt课件_第5页
资源描述:

《c语言程序设计----指针ppt课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C语言程序设计第10章指针2004指针变量:存放变量地址的变量由此对变量的操作可转换为对指针变量的操作一、地址和指针的概念一个变量的访问(访问是指取出其值或向它赋值)方式有两种:(1)直接访问,通过变量名访问,如通过变量名i直接访问。(2)间接访问,通过该变量的指针来访问,如通过i_pointer访问变量i。*i_pointeri二、变量的指针和指向变量的指针变量变量的指针:就是变量的地址。如i所对应的内存地址是2000,则i的指针就是2000指针变量:用来存放变量地址的变量,如:ip所对应的地址是3010,其内容是2000,2

2、000就是i所对应的地址(指针),因此,ip是存放变量i的地址的变量。若ip是存放变量i的地址的指针变量,即ip=&i;则*ip是指针变量ip所指的对象(即变量i)1、定义一个指针变量指针变量在使用前必须定义,以便使其指向特定类型的变量指针变量的定义形式:类型标识符*标识符其中:类型标识符:指出指向何种数据类型的变量标识符:表示指针变量名.例:float*p3;/*p3是指向实型变量的指针变量*/char*p4;/*p4是指向字符型变量的指针变量*/char*p1,p2;char*p1,p2;说明:1、定义时指针变量名前以‘*’开

3、头。2、指针变量一经定义就只可指向同类型的变量。如:float*p3;指针变量名是p3,它只能指向实型数据。3、在引用中,指针变量前加‘*’表示指针变量所指向的对象的值(即变量)。2、指针变量的引用通常,只能将变量的地址赋给指针变量,但在Turboc中,整型数据(十进制、十六进制、八进制)也可赋给指针变量。如:int*p1;p1=100;printf(“%d”,*p1);指针变量有两种运算符:&:取地址运算符,如:p1=&i;*:指针变量所指对象运算符,如:*p1,示p1指向的对象是变量i指针变量操作简例main(){inta

4、,b,*p1,*p2;a=100;b=10;p1=&a;p2=&b;printf(“a=%d,b=%d”,a,b);printf(“*p1=%d,*p2=%d”,*p1,*p2);printf(“&a=%x,&b=%x”,&a,&b);printf(“p1=%x,p2=%x”,p1,p2);printf(“&p1=%x,&p2=%x”,&p1,&p2);}a=100,b=10*p1=100,*p2=10&a=ffd4,&b=ffd6p1=ffd4,p2=ffd6&p1=ffd8,&p2=ffda关于&和*运算符

5、的进一步说明:*、&:优先级同为2级,结合性:从右向左。1.若已执行:inta,b,*p1,*p2;p1=&a;p2=&b;a=100;b=10;则①&*p1-》&a(p1)&*p2-》&b(p2)②p2=&*p1-》p2=&a2.*&a:先进行&a得a的地址,再对a的地址进行*运算。即指向a地址所指向的变量,就是a,其值是1003.运算符*,++:优先级为2,结合性:从右到左(*p1)++-》a++*p1++-》*(p1++)注意++是后加意即:将p1所指向的对象a的值取出,然后使a的值自增。p1原指向a,p1自增,现在指向下一

6、个变量了。输入a,b,用指针方法按先大后小的顺序输出。main(){int*p1,*p2,*p,a,b;scanf(“%d%d”,&a,&b);p1=&a;p2=&b;printf(“a=%d,b=%d”,a,b);printf(“*p1=%d,*p2=%d”,*p1,*p2);printf(“&a=%x,&b=%x”,&a,&b);printf(“p1=%x,p2=%x,p=%x”,p1,p2,p);printf(“&p1=%x,&p2=%x,&p=%x”,&p1,&p2,&p);if(a

7、1=p2;p2=p;}printf(“a=%d,b=%d”,a,b);printf(“*p1=%d,*p2=%d”,*p1,*p2);printf(“&a=%x,&b=%x”,&a,&b);printf(“p1=%x,p2=%x,p=%x”,p1,p2,p);printf(“&p1=%x,&p2=%x,&p=%x”,&p1,&p2,&p);printf(“max=%d,min=%d”,*p1,*p2);}3、指针变量作为函数参数指针变量作为函数参数时,传递的是变量的地址。指针变量作函数参数,将两个整数按大小

8、顺序输出。swap(int*p1,int*p2){intp;p=*p1;*p1=*p2;*p2=p;printf(“&p=%x,&p1=%x,&p2=%x”,&p,&p1,&p2);printf(“p1=%x,p2=%x”,p1,p2);p

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

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

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