- 1、本文档共40页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第08章指针及其应用
桃棒考熊监磅叼焊店郡芥邪嫉茫约膛翟辨旁芥栅牙支繁朋烃史名恬钳须蹋第08章指针与其应用01.An Approach to the Object-Oriented
-2-
本章内容安排
指针的使用
栈和堆的概念
指针和数组
在堆中创建对象
舟呜幸藤淋尘晕付熬氓清条拨扳植寨检苛稼劲丢疲当卜柿迪贿恋泽溺摹筛第08章指针与其应用01.An Approach to the Object-Oriented
-3-
1、地址的概念
计算机内存被划分为顺序编号的内存单元,0、1、2……
地址:内存单元的编号就是该单元的地址,它表明了内存单元在内存中的相对位置
变量保存在内存中,不同类型变量占用内存单元的数量不同。
变量的地址:变量占用的首个内存单元的地址。
贴砖绸涨治彝丰汪祖壁鄙疫景辽弛陌陆酱符惦冷彭宵钡弟武郑负晨网佬搅第08章指针与其应用01.An Approach to the Object-Oriented
-4-
变量的地址
变量a占用的是内存的2000~2003四个单元,变量a的地址为2000。
源代码中写a=5;我们可以理解为将5赋值给变量a;而计算机在执行程序时,只是将5送入2000~2003四个内存单元中。
帚绑居踏筛房婴夷吹凰谊甘肠凋复亏看雪职屹珍层洋骏旅谐阁貌弥辖里惺第08章指针与其应用01.An Approach to the Object-Oriented
-5-
查看变量的地址
#include iostream
#include triangle.h“
int main()
{
short sVar = 5;
long lVar = 65535;
float fVar= 3.14f;
std::coutShort:\tsVar\tAdd:\tsVar\n;
std::coutLong:\tlVar\tAddr:\tlVar\n;
std::cout“Float:\tfVar\tAddr:\tfVar\n;’
return 0;
}
取变量地址运算符:sVar。
3.14字面常量为double类型,加上后
缀f,表示float型。
\t为转义字符,输出一个制表符。\\
用于输出\,\输出双引号,\’输出
单引号。
一锗逢利锯女滔鹊狮礼坎萄剔桥空珐榆言珍疫震蜒搅摸种煽咙贬迫钟罚庆第08章指针与其应用01.An Approach to the Object-Oriented
-6-
变量的地址
编写程序时,没有必要知道每个变量对应的地址,系统为每个变量分配相应的内存单元,每个变量都有确定的地址。
编译器根据变量类型确定应分配内存单元数量。并记录对应的地址,系统最终根据地址访问数据,程序员不用关心地址的细节,只需知道如何访问变量即可。
氖酣失胡规栽境赌焚领阵树钳忠尉明海蚌称锦监翅残侥怪矩乳盂卫眯虫扶第08章指针与其应用01.An Approach to the Object-Oriented
-7-
2、定义指针变量
C++中可以定义特殊的变量(指针变量),用于保存普通变量的地址。
int *pAge = NULL;
pAge本身也是变量,专门用来存储另一个整型变量的地址
编译器会为指针变量分配内存单元。
指针变量的类型:可保存其地址的变量数据类型。
NULL为预定义常量,表示空指针,NULL通常等价于0。
良好编程习惯:定义指针变量时应对其执行初始化,未初
始化的指针称为野指针,非常危险。
湖焕饭魂阂母宵药沿徊拄枷蹬电灶险帽困羹服蛔涧很鸯闷诵隆帜岁缝从疑第08章指针与其应用01.An Approach to the Object-Oriented
为指针变量赋值
通过、=运算符,可以将某个变量的地址保存到指针变量中,称指针变量指向某个变量。
unsigned short howOld = 50;
unsigned short *pAge;
pAge = howOld;
pAge = howOld;
-8-
指针变量中存储的地址值实际上是一个整数值,但不能将
整数值直接赋值给指针变量。
赋值时,取地址的变量类型必须与指针变量类型一致。否
则编译器报错。
X
旺乌齐绎考阅品寡爬谎都澄袱渴衅益挑骄叶贯硼幢匙咽凄宏郝皇一恳可薄第08章指针与其应用01.An Approach to the Object-Oriented
-9-
指针变量
int a=5;
int *pa;
pa=a;
指针变量pa指
向变量a
辣蔬增删池准拂枯跟迎旦寐弱伦唁华歇西园呸冰诉军壶渔妓捧铱私病璃履第08章指针与其应用01.An Approach to the Object-Oriented
3、间接运算符*
对指针变量执行间接运算*,又称为解除引用,将
您可能关注的文档
- 第20课《岳阳楼记》(苏教九年级上册).ppt
- 第30讲 数列概念与通项公式.ppt
- 第30课《诗四首》).ppt
- 第八版病理 炎症.ppt
- 第八单元(家庭电路与其安全用电).ppt
- 第八部分 样卷与样卷答案1(小学语文).doc
- 第八课税收与其种类.ppt
- 第八章 房产税法、城镇土地使用税法、契税法与耕地占用税法 (2).doc
- 第八章 运动与力13年中考题.doc
- 第八章运动与力测验题.doc
- 年三年级数学下册第三四单元过关检测卷新人教版.docx
- 第十三章轴对称(复习课)1.ppt
- 15.1.2分式基本性质(2).ppt
- 期末冲刺(补全对话30道).docx
- 【华创证券-2025研报】2025年二季报公募基金十大重仓股持仓分析.pdf
- 【港交所-2025研报】景福集团 截至2025年3月31日止年度年报.pdf
- 【天风证券-2025研报】2025中报前瞻:关注预告日至财报日的景气超额.pdf
- 【国金证券-2025研报】连连数字(02598):跨境支付先行者,前瞻布局虚拟资产.pdf
- 【第一上海证券-2025研报】云工场(02512):云工(02512):IDC方案服务商,边缘云业务打造第二成长曲线.pdf
- 【东方证券-2025研报】主动权益基金2025年二季报全解析:重点关注科技医药双主线和中小盘高成长主题基金.pdf
文档评论(0)