欢迎来到天天文库
浏览记录
ID:57446980
大小:370.50 KB
页数:42页
时间:2020-08-19
《计算机语言C++指针课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、指针1主要内容指针的概念指针与地址操作符指针的声明指针的初始化指针运算指针与数组指针的指针void指针函数指针2校园生活举例到教务处办事教务处在校园什么位置或地址?综合办公楼4楼教务处→空间位置按空间位置行动,到达目的地任何单位有一个逻辑名称地址,还有一个物理空间地址人脑映射转换,控制行动3物理地址与逻辑地址物理地址一般由地理区域的序号编码构成逻辑地址一般由有意义的机构或人名构成人们常常喜欢记逻辑地址广东石油化工学院广东省茂名市官渡二路139号因为逻辑地址简单、形象、易记物理地址逻辑地址4工作举例办公桌的
2、抽屉里存放文件柜抽屉的钥匙文件柜抽屉中存放各种资料从文件柜某个抽屉中取资料如何操作?打开办公桌抽屉取出相应编号的钥匙打开文件柜抽屉拿出资料办公桌、文件柜→存储器抽屉→存储单元存储单元存放“物品”→“地址”或“数据”5内存:256MB0x00000000x00000010x00000020x00000030xFFFFFFF0xFFFFFFE0x00000040x00000050x00000060x00000070x00000080x0000009物理地址168‘W’3.14159charch=‘W’;int
3、k=168;floatPi=3.14159;逻辑地址内存储器地址与数据6地址译码器0x00000000x00000010x00000020x00000030xFFFFFFF0xFFFFFFE0x00000040x00000050x00000060x00000070x00000080x0000009物理地址编译系统逻辑地址物理地址内存:256MB‘W’1683.14159逻辑地址向物理地址变换7函数整型数据首地址首地址内存储器浮点数据字符数据首地址首地址结构体数据首地址C++程序的存储地址是存放信息数据的内
4、存单元的编号(编码)C++程序是通过名字(变量或函数名)来使用内存。这样做既直观,又方便为某个变量或者函数分配存储器空间的工作由编译程序完成存放在内存中的函数和数据都至少有一个地址我们关心的是首地址:第一个字节的地址通过地址直接使用内存较为快捷8指针的概念用来存放内存地址的变量叫作指针变量,简称指针指针是C++语言中的一种数据类型,是专门用来处理地址码集合的。又叫地址类型、指针类型,由于“首地址”可以是整数变量的首地址,也可以是双精度变量首地址,指针变量也分为不同的类型指针是一个变量,应遵循“先声明,后使
5、用”的原则9含义:取变量的地址单目运算符结合性:自右向左含义:从某个地址中获取数据,也叫取内容运算符。单目运算符结合性:自右向左两者关系:互为逆运算取地址运算符&与指针运算符*10存储器intx,*ipr;0x0013FF780x0013FF7C0x0013FF790x0013FF7A0x0013FF7B0x0013FF7D0x0013FF7E0x0013FF7Fxiprx=3;30x13FF78ipx=&x;*ipr=5;5直接访问:按变量地址存取变量值间接访问:通过存放变量地址的变量去访问变量11#i
6、ncludeintmax(inta,intb){returna>b?a:b;}voidmain(){intx=20,y=30;doublefib[1000]={0,1};cout<<"输出变量x的地址:"<<&x<7、ndl;}12#include//输入半径求圆面积voidmain(){doublearea,R,*dptr;dptr=&R;cout<<"输入半径:";cin>>*dptr;dptr=&area;*dptr=3.14159*R*R;cout<<"圆面积是"<<*dptr<8、number;char*character;float*greatnumber;14#includeintmain(){intvalue1=5,value2=15;int*mypointer;mypointer=&value1;*mypointer=10;mypointer=&value2;*mypointer=20;cout<<"value1="<
7、ndl;}12#include//输入半径求圆面积voidmain(){doublearea,R,*dptr;dptr=&R;cout<<"输入半径:";cin>>*dptr;dptr=&area;*dptr=3.14159*R*R;cout<<"圆面积是"<<*dptr<8、number;char*character;float*greatnumber;14#includeintmain(){intvalue1=5,value2=15;int*mypointer;mypointer=&value1;*mypointer=10;mypointer=&value2;*mypointer=20;cout<<"value1="<
8、number;char*character;float*greatnumber;14#includeintmain(){intvalue1=5,value2=15;int*mypointer;mypointer=&value1;*mypointer=10;mypointer=&value2;*mypointer=20;cout<<"value1="<
此文档下载收益归作者所有