C语言 指针 结构体ppt课件.ppt

C语言 指针 结构体ppt课件.ppt

ID:58886499

大小:3.51 MB

页数:187页

时间:2020-09-30

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

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

1、第10章指针C语言程序设计第十章指针地址和指针的概念变量的指针和指向变量的指针变量数组与指针字符串与指针指向函数的指针返回指针值的函数指针数组和指向指针的指针有关指针的数组类型和指针运算的小结<>本章学习目标:认识到用地址作为一种数据类型的重要性。理解指针包括地址和类型两种属性。掌握指针运算符&和*。能够通过地址引用调用在被调函数与主调函数之间共享数据。理解指针和数组的关系。理解指向函数的指针的用法。C程序设计中使用指针可以:使程序简洁、紧凑、高效有效地表示复杂的数据结构动态分配内存,直接访问内存地址得到多

2、于一个的函数返回值C语言程序设计第十章指针<>10.1地址和指针的概念C语言程序设计第十章指针内存用户数据区变量i变量j变量i_pointer362000200020023010在程序中定义一个变量,在编译时就给这个变量分配一个内存单元,同时根据变量的类型决定这个内存单元的大小。如:整型2字节,实型4字节。内存中每一个字节都有一个编号,就是“地址”。对每一个变量,它在内存中都有一个存储位置,这个位置就是该变量的地址,对变量值的存取是通过地址进行。在C语言中这个地址被形象化地称为“指针”。指针:一个变量的地址

3、。指针变量:存放另一变量的地址(即指针)。<>10.2变量的指针和指向变量的指针变量定义一个指针变量指针变量在使用前必须定义,使其指向特定类型的变量,指针变量存放地址,必须定义为“指针类型”。定义的一般形式:基类型*指针变量名;基类型:用来指定指针变量可以指向的变量的类型。将决定指针移动和运算时的移动量。构成:[存储类型]数据类型*:表示该变量为指针类型C语言程序设计第十章指针例int*p1,*p2;float*q;staticchar*name;注意:1、int*p1,*p2;与int*p1,p2;2、指

4、针变量名是p1,p2,不是*p1,*p23、指针变量只能指向定义时所规定类型的变量4、指针变量定义后,变量值不确定,应用前必须先赋值<>进一步理解&与*运算符:含义C语言程序设计第十章指针两者关系:互为逆运算理解取地址运算符含义:取变量的地址单目运算符优先级:2结合性:自右向左指针运算符(“间接访问”运算符)含义:取指针所指向变量的内容单目运算符优先级:2结合性:自右向左…...…...2000200420062005整型变量i10变量i_pointer2001200220032000指针变量i_point

5、er-----指针变量,它的内容是地址量*i_pointer----指针的目标变量,它的内容是数据&i_pointer---指针变量占用内存的地址200010i_pointer*i_pointer&i_pointerii_pointer&i&(*i_pointer)i*i_pointer*(&i)<>指针变量的初始化一般形式:[存储类型]数据类型*指针名=初始地址值;C语言程序设计第十章指针赋给指针变量,不是赋给目标变量例inti;int*p=&i;变量必须已说明过类型应一致例int*p=&i;inti;例

6、inti;int*p=&i;int*q=p;用已初始化指针变量作初值例main(){inti;staticint*p=&i;..............}()不能用auto变量的地址去初始化static型指针指针变量赋值:inti,j;int*p1,*p2;p1=&i;p2=&j;i=3;*p1=5;j=6;*p2=8;3568┇20002002ijp1p220002002<>指针变量的引用C语言程序设计第十章指针例10.1通过指针变量访问整型变量#includevoidmain(){i

7、nta,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=f

8、fd8,&p2=ffda10010ffd4ffd6abp1p2ffd4ffd6ffd8ffda<>关于&和*运算符的进一步说明:*、&:优先级同为2级,结合性:从右向左。1.若已执行:inta,b,*p1,*p2;p1=&a;p2=&b;a=100;b=10;则①&*p1&a(p1)&*p2&b(p2)②p2=&*p1p2=&aC语言程序设计第十章指针&a&bp1p210100ba&a&ap2p110100

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

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

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