我是靠谱客的博主 刻苦金针菇,最近开发中收集的这篇文章主要介绍【C++】《C++ 17 入门经典》读书笔记 09----指针,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1、什么是指针?

程序中的每个变量和函数都位于内存的某个地方,所以都有独特的地址来标识它们的存储位置。这些地址取决于运行程序时将程序加载到内存的什么地方,所以程序每次运行时,这些地址可能都不同。

指针是可存储地址的变量。存储在指针中的地址可以是变量或其他数据的地址。

指针不仅仅是指向某地址的“指针”,还指向位于该地址的数据的类型。

2、定义指针

指针的定义类似于一般的变量,但类型名后跟一个星号,表示定义了一个指针而不是该类型的变量。

例如:

long* pnumber {};

pnumber 的类型是“指向long”,写为 long* 。这个指针只能存储 long 类型的变量的地址。尝试在其中存储非 long 类型的变量的地址,代码就不能编译通过。

因为初始化列表为空,所以这个语句把 pnumber 初始化为等价于 0 的指针,即不指向任何内容的地址。

等价于 0 的指针写为 nullptr,可以把它的显式指定为初始值:

long* pnumber {nullptr};

定义指针时,总是要初始化化它。如果还不能为指针提供期望的值,就将其初始化为 nullptr。

3、地址运算符

地址运算符 & 是一个一元运算符,它可以获取变量的地址。

& 运算符可以应用于任何类型的变量,但必须在对应类型的指针中存储地址。

使用 auto* 声明的变量只能用指针值初始化。使用其他类型的值初始化,会导致编译错误。

4、间接运算符

将间接运算符 * 应用于指针,可能访问指针所指向的内存位置的数据。

间接运算符这个名称来自于数据的访问是间接的这一事实。

5、指针的算术运算

可以对指针执行算术运算,修改它包含的地址。只能对指针进行加减运算,但可以比较指针,得到逻辑结果。

可以给指针加上一个整数(或等于整数的表达式),其结果是一个地址。也可以从指针中减去一个整数,其结果也是一个地址。

可以从一个指针中减去另一个指针,其结果是一个整数而不是地址。

其他运算算不能用于指针。

 


 

最后

以上就是刻苦金针菇为你收集整理的【C++】《C++ 17 入门经典》读书笔记 09----指针的全部内容,希望文章能够帮你解决【C++】《C++ 17 入门经典》读书笔记 09----指针所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(34)

评论列表共有 0 条评论

立即
投稿
返回
顶部