栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++指针随记

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++指针随记

复合类型

基于其它类型定义的类型,如:引用、指针


指针

定义:与引用类似,指针也实现了对其他对象的间接访问。而与引用不同的是,其一,指针本身就是一个对象,允许对指针赋值和拷贝,而且在指针的生命周期内它可以先后指向几个不同的对象。其二,指针无须在定义时赋值。

**指针值(即地址)**应处于下四种状态:

  • 指向一个对象
  • 指向紧邻对象所占空间的下一个位置
  • 空指针,意味着指针没有指向任何对象
  • 无效指针,上述情况之外的指针
利用指针访问对象

如果指针指向了一个对象,则允许使用解引用符(操作符*****)来访问该对象:

某些符号有多重含义

int i = 42;
int &r = i;         //&紧随类型名出现,因此是声明的一部分,r是一个引用
int *p;             //*紧随类型名出现,因此是声明的一部分,p是一个指针
p = &i;             //&出现在表达式中,是一个取地址符
*p = i;             //*出现在表达式中,是一个解引用符
int &r2 = *p;       //&是神明的一部分,*是一个解引用符
空指针

空指针(null pointer)不指向任何对象,在试图使用一个指针前代码可以首先检查它是否为空。

int *p1 = nullptr;		//等价于int *p1 = 0
int *p2 = 0;			//直接将p2初始化为字面常量0
int *p3 = NULL;			//等价于int *p3 = 0 //#include "cstdlib"

空指针就是对指针的初始化


新标准下现在的C++程序最好使用nullptr,同时避免使用NULL。因为NULL是一种特殊类型的字面值,它可以被转换成任何其他的指针类型。

把int变量直接赋给指针是错误的操作,即使int变量的值恰好为0也不行

int zero = 0;
int *pi;
pi = zero;			// WRONG
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/699328.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号