对指针的认识

指针是一种数据类型,具有指针类型的变量称为指针变量。指针变量是用于存放内存单元地址的。指针是先声明后使用,声明指针的语法形式为:数据类型 *标识符,其中“*”表示这里声明的是一个指针类型的变量。数据类型可以是任意类型,指的是指针所指向的对象的类型,这说明了指针所数据,指的内存单元可以用于存放什么类型的数据,称之为指针的类型。

“*”称为指针运算符,也称解析,表示获取指针所指向的变量的值,这是一个一元操作符,“&”称为取地址运算符,也是一个一元操作符,用来得到一个对象的地址。

在定义指针的同时进行初始化赋值,语法形式为:存储类型  数据类型  *指针名=初始地址。定义之后,单独使用赋值语句。赋值语句的语法形式为:指针名=地址。如果使用指针对象地址作为指针的初值,或在赋值语句中将对象地址赋给指针变量,该对象必须在赋值之前就声明过,而且这个对象的类型应该和指针类型一致。也可以使用一个已经赋值的指针去初始化另一个指针,这就是说,可以使用多个指针指向同一个变量。

一个数组,可以用他的名称来直接表示他的起始地址,数组名实际上就是一个不能被赋值的指针,即指针常量。

  不同类型的指针之间或指针与非零整数之间的关系运算是毫无意义的,但是指针变量可以和整数零进行比较,0专用于表示空指针,也就是一个不指向任何有效地址的指针。

  如果一个数组的每个元素都是指针变量,这个数组就是指针数组,指针数组的每个元素都必须是同一类型的指针。声明一维指针数组的语法形式为:数据类型*数组名[下表表达式]。由于一维数组的每个元素都是一个指针,必须先赋值后引用,因此,声明数组之后,对指针元素赋初值是必不可少的。

  函数指针就是专门用来存放函数代码首地址的变量。在程序中可以像使用函数名样使用指向函数的指针来调用函数。函数名在表示函数代码起始地址的同时,也包括函数的返回值类型和参数的个数、类型、排列次序等信息。

  我们既可以通过对象名,也可以通过对象地址来访问一个对象,但是对象所占据的内存空间只是用于存放数据成员的,函数成员不在每一个对象中存储副本。对象指针就是用于存放对象地址的变量。

   This指针是一个隐含于每一个类的非静态成员函数中的特殊指针,他用于指向正在被成员函数操作的对象。This指针明确地指出了成员函数当前所操作的数据所属的对象,它是一个指针常量,对于常成员函数,this同时又是一个指向常量的指针,在成员函数中,可以使用*this来标示正在调用该函数的对象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值