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

基本数据指针的解读-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.xdnf.cn/news/737209.html

相关文章:

  • 数据即资产:GEO如何重塑企业的信息价值链
  • 电子电路:D触发器的工作原理及应用详解
  • 在Mathematica中使用WhenEvent求解微分方程
  • java代码性能优化
  • MODIS火点数据下载
  • 人工智能时代Agent与MCP区别联系
  • 001在线拍卖系统技术揭秘:构建高效交互的竞拍平台
  • JS浮点数精度问题
  • WebFuture:网站部分图片突然无法显示的原因
  • 身份证发给别人怎么加水印?赛文奥特曼身份证添加水印教程
  • 大模型应用开发第九讲:RAG(检索增强生成)流程:用户查询→检索→生成响应
  • CQF预备知识:Python相关库 -- NumPy 基础知识 - 通用函数
  • xilinx位置约束
  • SAR ADC 比较器噪声分析(二)
  • gst_pad_query_default以及gst_pad_event_default
  • 2024PLM系统实施案例:天水天轲零部件
  • Sigma-Aldrich3D细胞培养支架有哪些类型?
  • LoRA:高效微调预训练模型的利器
  • DeepSeek-R1 重磅升级,智能体验再进化!
  • shell脚本的两种循环及状态返回值的区别及对比
  • 软件架构基础
  • ollama国内安装使用
  • 时间序列数据如何转化为动态图实践笔记
  • XSS跨站脚本攻击
  • 特伦斯 S75:重塑钢琴体验的数码钢琴之选
  • 基于教育数字化背景:人工智能技术支持下的教师专业发展路径
  • Baklib智能推荐赋能内容中台升级
  • 低频 500kHz vs 高频 1MHz,FP6291C与FP6291升压芯片应用在不同场景该怎么选择?
  • Spring生命周期中织入代理逻辑
  • 大模型-attention汇总解析之-MHA