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

c++系列之指针

今天不是做题系列,是知识系列啦。

说到指针,我们初学这一定会气的牙痒痒把,笔者也是,这么我好久而不得呀,今天来让我们聊聊指针。

其一

首先,我们明确的知道,假如我们开一个变量,那么我们的c++程序会给他分配内存,并且在此内存上来存储数值。我们使用取地址符&来验证地址

请看代码

 int a=10;cout<<"a="<<a<<"       "<<"a的地址为"<<&a<<endl;

 所以我们每开一个一个变量并为它赋予初始值,那么系统便会为我们在内存里开辟一个空间来存储我们赋予的数值。

由此推广,指针也不例外。我们开辟一个指针变量,系统也会为他在内存中开辟一个空间,只是与基本数据类型不同的是指针变量存储的不是具体的数值例如整数、浮点数之类,而是一个变量的地址。

我们来验证一下:

 int* p;cout<<"我们开的指针变量的地址为"<<&p<<endl;p=&a;cout<<"p的存储的地址为"<<p<<"  "<<"a的地址为"<<&a<<endl;cout<<"我们开的指针变量的地址为"<<&p<<endl;

运行结果:

大家看到了吗,我们开的指针变量本身也有地址,只不过他的地址存储的值也是地址,也就是说指针变量存的就是地址。我们打印指针变量会出现指针变量的值也就是它存储的地址,这就跟我们打印a会出现a存储的值10一样,而打印指针变量的地址则会出现存储指针变量的地址,这二者并不冲突,大家也看到了在内存中开辟的存储指针变量的地址跟指针变量存储的地址不一样。

举个例子吧,好比是你爸爸有你的手机号码,而你有你女朋友的手机号码 。

其二

我们使用*来访问指针变量指向的地址所存储的值。这就是我们所说的操作内存,我们直接在地址上进行值的修改。

看代码

 cout<<"我们来访问我们的指针变量所存储的地址的存储的值为"<<*p<<endl; *p=89300; cout<<"修改a的值为"<<*p<<endl;cout<<"修改后的a的值"<<a<<endl; 

大家看到了吧,我们使用*p直接就可以访问指针变量指向的地址的存储的值。我们修改这块地址存储的之后,这个变量a也就跟着修改了值。

这就是指针的妙用。

简单来说就是,指针变量记录着地址,指针变量就是一个地址,我们使用*来访问地址的值并且修改那么原变量的值也会修改。

大声喊出我是谁(作者狂喜中),接下来会更新一些数据结构之类的东西,(当然是使用c++实现或者c语言,如果时间允许的话)。主营业务Java算法,大家有啥Java算法竞赛类的疑问欢迎私信。

 

 

 

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

相关文章:

  • 网络安全:挑战与防护策略
  • AI 插件:未来的浏览器、前端与交互
  • R包开发-2.1:在RStudio中使用Rcpp制作R-Package(更新于2023.8.23)
  • 土豆叶病害识别(图像连续识别和视频识别)
  • 三、JVM监控及诊断工具-GUI篇
  • 3211064 - 错误消息 AA634 出现在 T-cd AW01N 或 T-cd AFAR 中
  • k3s or RKE2 helm安装报错dial tcp 127.0.0.1:8080: connect: connection refused
  • 网络安全应急响应预案演练
  • Redis 的混合持久化
  • ElasticSearch总结
  • 手写数字识别之损失函数
  • sleep () 和 wait () 有什么区别?
  • 第一百二十七回 空安全
  • js判断类型:typeof Object.prototype.toString instanceof constructor有什么区别?一文讲清楚
  • uview ui 1.x ActonSheet项太多,设置滚动
  • 信息化发展2
  • ubuntu18 + ros2 eloquent +python3.6
  • 围棋与育种
  • Python第三方库纵览
  • 测试.net开源音频库NAudio
  • 三方接口调用设计方案
  • OLED透明屏全贴合技术:未来显示技术的突破性创新
  • map、sync.map、concurrent-map适用场景与源码解析
  • 分布式事物实现方案及优缺点
  • java使用@interface和反射来动态生成excel
  • 【微服务】04-Polly实现失败重试和限流熔断
  • 如何使用HTML5新增的标签来构建语义化的页面结构?
  • Vmware 虚拟机挂起恢复后发现无法 Ping 通,无法连接到主机
  • Web自动化测试之图文验证码的解决方案
  • 软考高级系统架构设计师系列论文九十:论分布式数据库的设计与实现