当前位置: 首页 > article >正文

基本数据指针的解读-C++

1、引言

笔者认为对于学习指针要弄清楚如下问题基本可以应付大部分的场景:
① 指针是什么?
② 指针的类型是什么?
③ 指针指向的类型是什么?
④ 指针指向了哪里?

2、如何使用指针

使用时的步骤如下:
① 声明指针变量;
② 初始化;
③ 访问指针指向的数据。
基于这个三个步骤,笔者将对整型数值类型的数据进行举例说明。

	//-----------------声明指针变量int* prt_a = nullptr;//声明一个整型数指针变量,nullptr—空指针//-------------初始化指针变量,采用指向已有变量的方式-----int a = 10; //定义整型数值常量prt_a = &a;//指针指向了变量a的地址&a//---------访问指针数据int my_test = 0;my_test = *prt_a;cout << "a = " << a << endl;cout << "my_test = " << my_test << endl;cout << "*prt_a = " << *prt_a << endl;//----------访问并修改指针指向的数据*prt_a = 20;cout << "a = " << a << endl;cout << "*prt_a = " << *prt_a << endl;

运行结果如下:
在这里插入图片描述
代码解读:
① 声明一个整型数变量a,它的值为10,它的地址是&a,它在计算机上的执行原理是:在物理上,内存地址为&a的内存处,存放了 (int)10的编码,通过对该内存处的编码解码就可以得到(int)10;
② 声明一个指针变量prt_a,它指向了变量a的地址;
③ 通过解引用*prt_a,就可以获取指针变量指向的数据,也就是a的值,int(10);
④ 将指针变量指向的数据赋值给整型变量my_test ;
⑤ 将指针变量指向的数据修改为20,实际上也就是将整型变量a的值修改为20。

3、总结:
以上述案例来回答引言中的几个问题:
① 指针变量prt_a就是a的地址,也就是变量a存放在物理内存上的位置,把内存比作电影院的座位,指针变量就是座位的序号;
② 指针prt_a 的指针类型是int*,所以它指向的数据类型也必须是int;
③ 指针prt_a指向的数据类型是int;
④ 指针prt_a指向的是变量a的地址。

4、注意事项

① 两个指针不能进行加法运算,这是非法操作,因为进行加法后,得到的结果指向一个不知所向的地方,而且毫无意义
② 指针的值是XX,相当于说该指针指向以XX为首地址的一片区域,这片区域的大小由指针指向的类型决定;
③ &是取地址运算符,*p 的结果是p 所指向的东西。

http://www.lryc.cn/news/2393049.html

相关文章:

  • Android Studio里的BLE数据接收策略
  • 【Office】Excel两列数据比较方法总结
  • 基于多模态脑电、音频与视觉信号的情感识别算法【Nature核心期刊,EAV:EEG-音频-视频数据集】
  • 【QueryServer】dbeaver使用phoenix连接Hbase(轻客户端方式)
  • 数据湖 (特点+与数据仓库和数据沼泽的对比讲解)
  • 深入链表剖析:从原理到 C 语言实现,涵盖单向、双向及循环链表全解析
  • 编码总结如下
  • 《算力觉醒!ONNX Runtime + DirectML如何点燃Windows ARM设备的AI引擎》
  • [9-1] USART串口协议 江协科技学习笔记(13个知识点)
  • Oracle基础知识(五)——ROWID ROWNUM
  • 简述synchronized和java.util.concurrent.locks.Lock的异同 ?
  • OpenCV CUDA模块直方图计算------在 GPU 上计算图像直方图的函数calcHist()
  • EMS只是快递那个EMS吗?它跟能源有什么关系?
  • 日志技术-LogBack、Logback快速入门、Logback配置文件、Logback日志级别
  • 修改Cinnamon主题
  • 91.评论日记
  • HTML5实现简洁的端午节节日网站源码
  • Window10+ 安装 go环境
  • AWS WebRTC:获取ICE服务地址(part 2): ICE Agent的作用
  • 一、Sqoop历史发展及原理
  • React 编译器 RC
  • PyTorch 中mm和bmm函数的使用详解
  • 关于表连接
  • 【计算机网络】fork()+exec()创建新进程(僵尸进程及孤儿进程)
  • QPS 和 TPS 详解
  • Word表格怎样插入自动序号或编号
  • 数据结构:导论
  • 青少年编程与数学 02-020 C#程序设计基础 13课题、数据访问
  • 无人机仿真环境(3维)附项目git链接
  • 湖北理元理律师事务所:债务优化中的“生活锚点”设计