C++指针与动态分配内存new关键字专题.pdf

C++指针与动态分配内存new关键字专题.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C++指针与动态分配内存new关键字专题.pdf

本文作者:黄邦勇帅 本文是学习C++的基础内容,指针是C 或C++所特有的,因此应熟练掌握指针的使用,本文集中介绍C 或C++中的各种 指针,包括指针数组,数组指针,常量(const)指针,指向指针的指针,尤其是对二维数组和指针进行了详细精辟的解释, 在读完本文的二维数组和指针的讲解之后,相信你就会对指针有一个车底的了解了。 本文内容完全属于个人见解与参考文现的作者无关,其中难免有误解之处,望指出更正。 声明:禁止抄袭本文,若需要转载本文请注明转载的网址,或者注明转载自 “黄邦勇帅”。 主要参考文献: 1、C++.Primer.Plus.第五版.中文版 [美]Stephen Prata 著 孙建春 韦强译 人民邮电出版社 2005 年5 月 2、C++.Primer.Plus.第四版.中文版 Stanley B.Lippman、Barbara E.Moo 著 李师贤等译 人民邮电出版社 2006 年3 月 3、C++.Primer.Plus.第三版.中文版 Stanley B.Lippman 等著 潘爱民 张丽译 中国电力出版社2002 年5 月 4、C++入门经典 第三版 [美]Ivor Horton 著 李予敏译 清华大学出版社 2006 年1 月 5、C++参考大全 第四版 [美]Herbert Schidt 著 周志荣 朱德芳 于秀山等译 电子工业出版社2003 年9 月 6、21 天学通 第四版C++ [美]Jesse Liberty 著 康博创作室 译 人民邮电出版社 2002 年3 月 第一部分:指针 11.1 基础 1.指针是一个变量,它存储着另一个变量或函数的地址,也就是说可以通过指针间接地引用变量。指针变量包含一个地 址,而且可以存储任何数据类型的内存地址,但指针变量却被声明为特定的数据类型,一个指向整型数据类型的指针 不能存储一个浮点型的变量地址。 2 .指针声明的形式为,数据类型 *指针变量名;其中*星号是指针运算符,例如 int *x;声明x 为int 型指针. 11.2 指针运算符*和地址运算符 1.地址运算符是一元运算符,能反回它的操作数的内存地址.如y=x ;把变量x 的地址输入到y 中,它与x 的值无 关,比如x 的值为1000,而x 的地址为55 则,y 将接收到地址55. 2 .*指针运算符是一元运算符,它是&运算符的相反形式,*运算符能反回位于其操作数所指定的地址的变量的值.例 如y = x;z = *y;假设x 的值为1000,地址为55,则第二条语句说明z 的值为1000,*y 把由y 所指向的内存的地 址的变量x 的值赋给z 。*运算符可理解为 “在地址中”,则z=*y 可描术为 “z 接收了在址址y 中的值。”, 3.其实可以把*y 当成一个变量来使用,即可以为*y 赋值等,例如*y=100;(*y)++;等,但要注意的是对*y 的操作相当 于是对此指针指向的地址中的变量的操作,即对*y=100 的赋值语句,相当于是x=100,而(*y)++则相当于x++ 。 11.3 指针的运算 0.指针只支持4 种算术运算符:++,――,+,-.指针只能与整数加减.指针运算的原则是:每当指针的值增加时, 它将指向其基本类型的下一个元素的存储单元.减少时则指向上一个元素的存储单元. 1.++,――运算符,假设int 型x 的地址为200,且int 型占4 个字节,定义int *p;p=x ;则p++ 的地址将是204,而 不是201,因为当指针p 的值增加时,它都将指向下一个int 型数据.减少时也是这样,如p ――则,p 的地址将是196. 2 .+,-,运算符,注意两个指针不能相加.例int *p;p=x ;假设x 的地址为200,则p+9 将的指针地址将是200+4*9=236, 即p 指向了从当前正指向的元素向下的第9 个元素. 3.两指针相减,同类型的一个指针减去另一个指针的值将是两个指针分开的基本类型的元素的个数. 11.4 指针和数组 1.在C++语言中使用没有下标的数组名会产生一个指向数组中第一个元素的指针.如char x[20] ;char *p;p=x ;此语句 说明将x 数组的第一个元素的地址赋给指针p . 2 .*(p+4)和x[4]两句都可以访问数组中第5 个元素,这里假设int x[33] ;

文档评论(0)

sunyi8246 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档