对c++中指针的深入研究

对c++中指针的深入研究

ID:25593543

大小:55.50 KB

页数:6页

时间:2018-11-21

对c++中指针的深入研究_第1页
对c++中指针的深入研究_第2页
对c++中指针的深入研究_第3页
对c++中指针的深入研究_第4页
对c++中指针的深入研究_第5页
资源描述:

《对c++中指针的深入研究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、对C++中指针的深入研究摘要:本文对C++各种类型的指针进行了深刻全面地讨论,把各种指针的常量,变量的声明、赋值和访问都一一列出,这对利用指针开发大型软件的程序员来说无疑是一个非常有力的工具。本文还揭示了指针变量与数组名的内在关系,以及类的静态数据指针与非静态数据指针的根本区别。关键词:指针类型、指针常量、指针变量、数组名Abstract:AllkindsofpointersinC++arethoroughlyanddeeplydiscussed.Theconstantquantity,variables

2、,theformofendomereofnumbergroups.Healsorevealstheessentialdistinctionbetbergroup’snameC++中的“指针”实质上是指针类型的数据,所以指针既有常量,也有变量。但是人们往往只是简单的说“指针”,没有带“常量”或“变量”二字。那么,该“指针”到底是指常量呢还是指变量呢?这个问题要根据它所属的那个整句才能回答。C++中的指针按照它所指向的对象可以划分为变量指针、数组指针、函数指针、对象指针、类的成员数据指针和类的成员函数指针。一

3、、变量指针设type代表任意一种基本类型说明符,X是该类型的变量,则:1、X的指针常量为X。2、一个type型指针变量P的声明格式为:type*P;3、使P指向X,也就是说用X向P赋值的格式为:①用X初始化;②在声明了P后向P赋值。二、数组指针设A是一个有3行4列个type型变量元素的一个二维数组,则:1、A有两个意义:①表示这12个type型变量构成的整体。②表示A<0>的地址,即A=A<0>。A<0>也有两个意义:①表示A的第一行的4个type型变量构成的整体(A中

4、左下标为0的一行元素);②表示A<0><0>的地址。2、①声明一个指向type型的有3行4列个元素的二维数组的指针P的格式为:   type(*P)<3><4>;②声明一个指向type型的有4个元素的一维数组指针P1的格式为:type(*P1)<4>;③声明一个指向type型变量的指针P2的格式为:type*P2。3、①使P指向A的方式为:用A初始化P或在声明了P后向P赋值;②使P1指向A<1>的方式为:用“A+1”初始化P1或在声明

5、了P1后向P1赋值;③使P2指向A<2><1>的方式为:用A<2><1>初始化P2或在声明了P2后向P2赋值。4、用A和*来表示A<2><1>的表达式为*(*(A+2)+1),表示A<0><0>的表达式为**A。5、按3,①用P和*来表示A<2><1>的表达式为*(*(*P+2)+1);②用P1和*来表示A<2><1>的表达式为*(*(P1+1)+1);③用P2和

6、*来表示A<0><0>的表达式为:*(P-6);用P、P1和P2来访问A的元素有很多优越性,如它们及其表达式可以进行++运算和--运算而指针常量却办不到。三、函数指针设一个函数的原型为:typefun(),则:1、fun()的指针常量为fun2、声明一个数据类型为type,形参表为FL的函数指针P的格式为:type(P)(FL);3、用一个数据类型为type形参表为FL的函数指针只能指向数据类型为type形参表为FL的函数。按(1)和(2),用P指向fun()的方式为:用fun初始

7、化P或在声明P后向P赋值。4、用P而不用fun来调用fun()的格式为:P(和FL对应的实参表);四、对象指针设t是A类的一个对象,a和f()分别是A的一个公有变量成员和公有函数成员,则:1、t的指针常量为t;2、声明一个指向A类的对象的指针P的格式为:A*P;3、使P指向t的方式为:用t初始化P或者在声明了P后再向P赋值。4、①用P而不用t来表示t.a的格式为:P->a;②用P而不用t来访问f()的格式为:P->f();五、类的数据成员指针设t是A类的一个对象,a是A的一个非静态type型成

8、员数据,s是A的一个静态type1型成员数据,则:1、①A::a的相对指针常量为A::a;②A::s的物理指针常量为A::s2、①可以指向A类的type型非静态成员的指针P1的声明格式为:typeA::*P1;②可以指向A类type型静态成员的指针P2的声明格式为:type1*p2;3、①使P1指向A::a的方式为:用A::a初始化P1或在声明了P1后向P1赋值;②使P2指向A::s的方式为:用A::s初始化P2或在声明了P2

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

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

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