第七章 C语言指针ppt课件.ppt

第七章 C语言指针ppt课件.ppt

ID:58693923

大小:457.50 KB

页数:162页

时间:2020-10-04

第七章 C语言指针ppt课件.ppt_第1页
第七章 C语言指针ppt课件.ppt_第2页
第七章 C语言指针ppt课件.ppt_第3页
第七章 C语言指针ppt课件.ppt_第4页
第七章 C语言指针ppt课件.ppt_第5页
资源描述:

《第七章 C语言指针ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C语言程序设计基础第七章指针本节提要指针简介指针变量数组和指针字符串和指针函数和指针7.1指针简介inta=1;floatx=3.4;charch=’A’;1040Ach3.41018x10191020102110101011a1&a&x&ch每个内存单元都有一个编号,根据该编号即可准确地找到内存单元,这个编号叫做“内存地址”。通常也把“内存地址”称为指针。直接访问和间接访问对变量本身进行存取的方式,称为“直接访问”。将变量的地址存放在某指针变量中,通过访问这个指针变量,达到访问该变量的方式,称为“间接访问

2、”。a地址1010直接访问inta;a=1;111地址1010a间接访问inta;*(&a)=1;110101地址1010a间接访问pa1010inta;int*pa;pa=&a;*pa=1;1说明所谓“指向”是通过地址来体现的。图中以箭头人为形象地表示这种“指向”关系。实际上,指针只是存放了另一个变量空间的起始地址。7.2指针变量指针变量定义的一般形式:基类型*指针变量名;基类型用来指定该指针变量可以指向的变量的类型。*表示这是一个指针变量。int*p;定义了一个整型指针变量p。int是指针变量的“基类型

3、”。“*”表明所定义变量的身份是“指针”。注意:指针变量是p,而不是*p。int*p;int*表示整型指针类型,与int类型相对。例如:inta;定义整型变量aint*p;定义整型指针变量p指针变量空间的大小指针变量用于存放地址,因此本身也具有存储空间。C编译系统为不同基类型的指针变量,分配的存储空间的相等的。在TC中,为2个字节。在VC++中是4个字节。structAAA{intage;charid[10];charname[15];floatscore[5];};结构体数据类型定义structAAAt;

4、id[]name[]agescore[]tstrcpy(t.id,”200701050306”);strcpy(t.name,”LiMing”);t.age=18;t.score[0]=95;t.score[1]=87.5;…t.score[4]=82;typedefstructAAA{charid[20];charname[20];intage;floatscore[5];}STU;STUt;等价于structAAAt;intm1;floatm2;doublem3;charm4;STUt;sizeof(m

5、1)sizeof(m2)sizeof(m3)sizeof(m4)sizeof(t)248162TC中448164VC++中int*p1;float*p2;double*p3;char*p4;STU*ptr;比对sizeof(p1)sizeof(p2)sizeof(p3)sizeof(p4)sizeof(ptr)22222TC中44444VC++中说明定义一个指针变量而没有对其赋值,该指针是没有确定指向的。要想使它有确定的指向,必须将某一同类型变量的地址赋给它。STUs;STU*ptr;ptr=&s;unio

6、nBBB{intage;charid[10];charname[15];floatscore[5];};公用体数据类型定义unionBBBs;ageid[]name[]score[]strcpy(s.id,”200701050306”);strcpy(s.name,”LiMing”);s.age=18;s.score[0]=95;s.score[1]=87.5;…s.score[4]=82;与指针有关的运算符&取地址运算符运算对象:普通变量*指针运算符(指向运算符、间接运算符)运算对象:指针变量inta,*

7、p;p=&a;*p=10;*p表示“p指向的变量”[注意]定义指针变量时用的*和使用指针变量时用的*含义不同。交换两个变量的内容inta,b,t;a=10;b=20;t=a;a=b;b=t;交换两个变量的内容inta,b,t,*pa,*pb;a=10;b=20;pa=&a;pb=&b;t=*pa;*pa=*pb;*pb=t;a10b20*pa*pbpa&apb&b交换指针指向的内容2010inta=10,b=20;int*pa,*pb,*p;pa=&a;pb=&b;p=pa;pa=pb;pb=p;pa&ap

8、b&bp=pa;pa=pb;pb=p;&b&ap&aa10b20*pb*pa交换指针的指向7.2.3指针运算指针运算实质是地址运算。除了赋值运算外,还有:指针与整数的加减运算指针变量间相减运算指针变量间关系运算指针与整数的加减运算指针变量加上或减去整数n,作用是让指针由当前所指向的位置向前或向后移动n个数据的位置。ch变量pchar*p;charch;p=&ch;p+1p+2pint*p;inta;p=&a;p+

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

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

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