C 面向对象_chap08_指针和引用.ppt

C 面向对象_chap08_指针和引用.ppt

ID:49452916

大小:4.26 MB

页数:180页

时间:2020-02-07

C  面向对象_chap08_指针和引用.ppt_第1页
C  面向对象_chap08_指针和引用.ppt_第2页
C  面向对象_chap08_指针和引用.ppt_第3页
C  面向对象_chap08_指针和引用.ppt_第4页
C  面向对象_chap08_指针和引用.ppt_第5页
资源描述:

《C 面向对象_chap08_指针和引用.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、1第八章指针和引用2指针的概念数据在内存中是如何存取的?系统根据程序中定义变量的类型,给变量分配一定的长度空间。字符型占1个字节,整型数占4个字节.....。内存区的每个字节都有编号,称之为地址。2000H2001H2002H2003H2004H35内存内存单元的地址内存单元的内容31、直接访问按变量地址存取变量的值。cin>>i;实际上放到定义i单元的地址中。2、间接访问将变量的地址存放在另一个单元p中,通过p取出变量的地址,再针对变量操作。一个变量的地址称为该变量的指针。如果在程序中定义了一个变量或数组,那么,这个变量或数组的地址(指针)也就确定为一个常量。ii2000

2、H2000H3000Hp4变量的指针和指向变量的指针变量变量的指针就是变量的地址,当变量定义后,其指针(地址)是一常量。可以定义一个变量专门用来存放另一变量的地址,这种变量我们称之为指针变量。在编译时同样分配一定字节的存储单元,未赋初值时,该存储单元内的值是随机的。指针变量定义的一般形式为:类型标识符*变量名int*i_point;i2000Hinti;&i:2000H指针类型变量名5指针变量同样也可以赋值:inti,*i_point;i_point=&i;也可以在定义指针变量时赋初值:inti;int*i_point=&i;*在定义语句中只表示变量的类型是指针,没有任何计

3、算意义。*在语句中表示“指向”。&表示“地址”。一个指针变量只能指向同一类型的变量。即整型指针变量只能放整型数据的地址,而不能放其它类型数据的地址。3000Hi_point2000Hi2000H62000H2000H3000Hi_pointinti;int*i_point=&i;*i_point=3;表示指向表示类型i37指针变量的引用指针变量只能存放地址,不要将非地址数据赋给指针变量。int*p,i;p=100;p=&i;voidmain(void){inta=10,b=100;int*p1,*p2;p1=&a;p2=&b;cout<

4、out<<*p1<<‘t’<<*p2<

5、cout<<*p1<<‘t’<<*p2<>a>>b;p1=&a;p2=&b;if(a

6、&a1010010010交换地址虽然变量不变,但指向变量的指针发生变化11inta=3,*p;p=&a;++,--,*优先级相同,都是右结合性。相当于a++。表达式为3,a=47532008H2004H2000Ha&ap(*p)++;412inta=3,*p;p=&a;++,--,*优先级相同,都是右结合性。7532008H2004H2000Ha&ap2004H*(p++)首先*p,然后p=p+1,指针指向下一个int单元表达式为3,p=2004H。*p++;13inta=3,*p;p=&a;++,--,*优先级相同,都是右结合性。7532008H2004H2000Ha&a

7、p4++(*p)*p=*p+1a=4++*p14inta=3,*p;p=&a;++,--,*优先级相同,都是右结合性。7532008H2004H2000Ha&ap2004H*(++p),首先:p=p+1,然后取*p。即取p所指的下一个int单元的内容。表达式为5p=2004H*++p15指针变量作为函数参数:函数的参数可以是指针类型,它的作用是将一个变量的地址传送到另一个函数中。指针变量作为函数参数与变量本身作函数参数不同,变量作函数参数传递的是具体值,而指针作函数参数传递的是内存的地址。16输入a,b两个整数,按

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

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

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