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

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

ID:46867040

大小:354.50 KB

页数:6页

时间:2019-11-28

C++指针与动态分配内存new关键字专题_第1页
C++指针与动态分配内存new关键字专题_第2页
C++指针与动态分配内存new关键字专题_第3页
C++指针与动态分配内存new关键字专题_第4页
C++指针与动态分配内存new关键字专题_第5页
资源描述:

《C++指针与动态分配内存new关键字专题》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、本文作者:黄邦勇帅本文是学习C++的基础内容,指针是C或C++所特有的,因此应熟练掌握指针的使用,本文集中介绍C或C++中的各种指针,包括指针数组,数组指针,常量(const)指针,指向指针的指针,尤其是对二维数组和指针进行了详细精辟的解释,在读完本文的二维数组和指针的讲解之后,相信你就会对指针有一个车底的了解了。本文内容完全属于个人见解与参考文现的作者无关,其中难免有误解之处,望指出更正。声明:禁止抄袭本文,若需要转载本文请注明转载的网址,或者注明转载自“黄邦勇帅”。主要参考文献:1、C++.Primer.Plus.第五版.中文版[

2、美]StephenPrata著孙建春韦强译人民邮电出版社2005年5月2、C++.Primer.Plus.第四版.中文版StanleyB.Lippman、BarbaraE.Moo著李师贤等译人民邮电出版社2006年3月3、C++.Primer.Plus.第三版.中文版StanleyB.Lippman等著潘爱民张丽译中国电力出版社2002年5月4、C++入门经典第三版[美]IvorHorton著李予敏译清华大学出版社2006年1月5、C++参考大全第四版[美]HerbertSchidt著周志荣朱德芳于秀山等译电子工业出版社2003年9月

3、6、21天学通第四版C++[美]JesseLiberty著康博创作室译人民邮电出版社2002年3月第一部分:指针11.1基础1.指针是一个变量,它存储着另一个变量或函数的地址,也就是说可以通过指针间接地引用变量。指针变量包含一个地址,而且可以存储任何数据类型的内存地址,但指针变量却被声明为特定的数据类型,一个指向整型数据类型的指针不能存储一个浮点型的变量地址。2.指针声明的形式为,数据类型*指针变量名;其中*星号是指针运算符,例如int*x;声明x为int型指针.11.2指针运算符*和&地址运算符1.&地址运算符是一元运算符,能反回它

4、的操作数的内存地址.如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

5、)++;等,但要注意的是对*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的值增加时,它都将指向下一个i

6、nt型数据.减少时也是这样,如p――则,p的地址将是196.2.+,-,运算符,注意两个指针不能相加.例int*p;p=&x;假设x的地址为200,则p+9将的指针地址将是200+4*9=236,即p指向了从当前正指向的元素向下的第9个元素.3.两指针相减,同类型的一个指针减去另一个指针的值将是两个指针分开的基本类型的元素的个数.11.4指针和数组1.在C++语言中使用没有下标的数组名会产生一个指向数组中第一个元素的指针.如charx[20];char*p;p=x;此语句说明将x数组的第一个元素的地址赋给指针p.2.*(p+4)和x[

7、4]两句都可以访问数组中第5个元素,这里假设intx[33];int*p;p=x;因为p是指向数组x的第一个元素地址的指针,而p+4就是指向第五个元素的指针,而*(p+4)就是第五的个元素了.3.p[i]语句相当于*(p+i)或x[i]即数组中第i+1个元素的值,假设charx[20];char*p;p=x;11.5字符串常量在C++中字符串常量会被存储到程序的串表中,所以语句char*p;p=”hyong”;是合法的,该语句将字符串常量存储在串表中的地址赋给指针变量p.11.6指针数组声明形式int*p[10];该语句声明了10个指

8、针数组,每个数组中存储一个整数值地址.p[2]=&x;语句为指针变量的第三个元素赋予x变量的地址,现在要访问x变量的值需要编写*p[2].即访问指针数组第三个元素的地址指向的变量的值.11.7空指针如果指针包含了空(0)

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

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

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