- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
程序员宝典第8章
第8 章 指 针
在C++ 中,很多程序员都痴迷于指针的运用,很多公司在招聘较高级职位的时候,也
会考察到指针的相关知识,对指针的运用能看出程序员编写程序的严谨性。指针是用来控
制对象的内存地址,它功能非常强大,可以直接访问和操作系统内存,合理地运用指针也
会让程序的性能得到很好的优化。
8.1 指 针 概 述
在C++ 中,语言可以在运行时获得变量的地址,并且具有操作地址的能力。这种功能
在其他的语言中可能都不如C++ 中如此的重要,被用来操作变量地址的特殊类型的变量就
是指针变量。指针可以用于数组,或者作为函数的参数,用来访问内存和对内存的操作。
由于指针的作用,使得C++ 的功能非常强大,它可以使程序变得非常高效,但是指针使用
起来又比较危险,使用不当会导致程序出现比较严重的问题。本节将介绍指针的相关使用
方法,以及指针与数组、字符串之间的紧密联系。
面试题83 什么是指针
【出现频率】★★★
【关键考点】
指针的概念
【考题分析】
程序中的所有变量和常量都存在一个内存地址中。这个内存地址表示变量或者常量在
内存中存储的位置,同样,函数也有对应的内存地址。内存地址的不同会导致程序执行时
有所不同,指针就是用来存储内存地址的变量。
编程者所知道的所有基本数据类型,例如,int、float、double 等,每一种基本数据类
型都有相应的指针类型,编程者可以建立对应类型的指针来处理基本数据类型。
“”在运算符中是表示乘法,它也被用来定义指针。指针变量的定义语句,由数据类
*
型后跟星号,再跟指针变量名组成。定义指针的示例代码如下:
int * ip;
const int * ip2
上面所示ip 和ip2 都是指针变量名,int 表示该指针变量的类型是整型, 表示是指针
*
变量。指向整型数的指针是包含该整型数地址的变量或常量。另外C++还提供了一种特殊
第8 章 指针
的指针类型 void*,它可以保存任何类型对象的地址。示例代码如下:
double obj = 3.14;
double pd = obj; //double类型指针
*
void pv = obj; //void类型指针,在这里保存了double 类型指针地址
*
pv = pd;
【答案】
指针是用来存储内存地址的变量,它指向单个对象的地址,除了void 指针类型以外,
指针的数据类型与所指向地址的变量数据类型须保持一致。
面试题84 如何初始化指针并对其赋值
【出现频率】★★★★
【关键考点】
如何初始化指针;
如何对指针进行赋值。
【考题分析】
建立指针包括定义指针变量和给指针变量赋初值,第一次给指针变量赋值就是指针的
初始化。用符号可以获取变量的地址,指针变量用来存储变量的地址,基本的指针变量
初始化示例代码如下:
int * ipstr;
int counta = 20;
ipstr = counta;
int *p = 0; //初始化指针为 0
以上代码完成了提取一个变量的地址,并把它存储在一个指针变量中。如果 countea
的地址是0000:F233,这个时候指针变量ipstr 就赋值了counta 的地址0000:F233 。一般来
说,编程者需要尽量避免使用没有初始化的指针,因为这样很容易导致不可预料的运行错
误。如果可能,除非所指向的对象已经存在,否则不要先定义指针,这样可以避免定义一
个未初始化的指针。
如果编程者没有可以给指针初始化的地址值,编程者可以把指针初始化为0 (在C 语
言中为NULL ),这样指针不会指向任何实体,可以避免指针未初始化的问题。没有初始
化的指针指向是随机的,它有可能导致随机修改了程序的值。
指针的赋值和初始化一
您可能关注的文档
- 江苏大学能动学院团内推优理论考核试题.doc
- 江苏省2009年全国高考数学试题.pdf
- 江苏盐城市2010届高三第二次调研考试数学试题(word版).doc
- 江苏省2013学年高一英语下学期期末考试试题.doc
- 江苏省中小学教师网络法律竞赛试题98分.pdf
- 江苏省丰县实验初级中学2014年七年级(上)第一次月考数学试题(含答案).doc
- 江苏省南京市2014届高三9月学情调研数学试题(WORD版,有答案).pdf
- 江苏省南京市六合区2012年中考一模数学试题.doc
- 江苏省广播电视播音专业一级播音员资格条件(试行).doc
- 江苏省成人教育《大学计算机基础》统考试题(二).doc
- 《GB/Z 44363-2024致热性 医疗器械热原试验的原理和方法》.pdf
- GB/T 16716.6-2024包装与环境 第6部分:有机循环.pdf
- 中国国家标准 GB/T 44376.1-2024微细气泡技术 水处理应用 第1 部分:亚甲基蓝脱色法评价臭氧微细气泡水发生系统.pdf
- 《GB/T 44376.1-2024微细气泡技术 水处理应用 第1 部分:亚甲基蓝脱色法评价臭氧微细气泡水发生系统》.pdf
- GB/T 44376.1-2024微细气泡技术 水处理应用 第1 部分:亚甲基蓝脱色法评价臭氧微细气泡水发生系统.pdf
- 中国国家标准 GB/T 44315-2024科技馆展品设计通用要求.pdf
- GB/T 44305.2-2024塑料 增塑聚氯乙烯(PVC-P)模塑和挤塑材料 第2部分:试样制备和性能测定.pdf
- 《GB/T 44315-2024科技馆展品设计通用要求》.pdf
- GB/T 44315-2024科技馆展品设计通用要求.pdf
- GB/T 39560.9-2024电子电气产品中某些物质的测定 第9 部分:气相色谱-质谱法(GC-MS)测定聚合物中的六溴环十二烷.pdf
文档评论(0)