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

雷达所研0:C++的学习笔记

今天是研0进组的第五天,这几天在了解雷达基础知识和相关算法,目前学到了C/C++的灵魂--指针。特此记录一些学习心得和体会。

1.指针与数组

int arr[5]={1,2,3,4,5}; int* a = arr; //等价于int* a = &arr[0]; std::cout << *(a+1); //二者相同 std::cout << *(arr+1);// 二者相同
  • arr本身不是指针变量(它没有自己的存储空间),但编译器在表达式中会把arr转换成int*类型。

  • arrp有一个关键区别:sizeof(arr)是整个数组的大小(5 * 4 = 20字节),而sizeof(p)是指针的大小(8 字节,64 位系统)。

数组名是常量指针,它指向数组首元素,但你不能修改它。

int arr[5] = {0,1,2,3,4}; int* p = arr; p++; //原本p指向arr[0],++后指向arr[1] std::cout << *p;// 此时输出1 arr++; //错误用法,切记arr是常量指针 std::cout << *arr;// 报错

2.指针与const

int a{2},b{4}; const int* p1 = &a; //指针常量 int* const p2 = &b; //常量指针 p1 = &b; //可以改变指针的指向,此时p1指向a *p2 = 5; //报错! 不能改变指针指向的值 *p2 = 5; //可以改变指针指向的值,此时b==5 p2 = &a; //报错! 不能改变指针的指向

对于常量指针和指针常量,可以理解为指针常量const int*p1=&a;这里*p1离const更接近,所以const限定的对象是 *p1,而&a不受const的约束,所以指针常量可以改变指针指向而不能改变指针指向的值,而对于常量指针 int* const p2 = &a;这里const限定的是p2=&a,但是不限定a的数值的大小。

http://www.jsqmd.com/news/1217961/

相关文章:

  • Spring Boot+MyBatis Plus图书管理系统开发实战
  • 初来乍到,多多指教
  • 2026 年新发布:三山比较好的轻型轨道工程车供应商找哪家,颠覆传统!这台小车如何重塑工程效率? - 企业推荐官【认证】
  • 劳力士中国官方售后服务中心|全部网点地址及24小时热线权威信息公告(2026年7月最新) - 劳力士服务中心
  • 嵌入式开发实战:从OMAP34xx手册到异构多核系统设计
  • Android NDK开发与JNI实战指南
  • LightningCAD常见问题分类与解决方案指南
  • 欧米茄中国官方售后服务中心|官方电话和详细地址权威信息公告(2026年7月最新) - 欧米茄官方服务中心
  • AI落地价值密度图谱:识别泡沫与火种的三维诊断法
  • Groq弃用Llama 4 Scout 17B:完整迁移方案与AI服务稳定性实践
  • 警惕AI领域虚构技术名词:Mythos等未验证概念辨析
  • VxWorks 5.5在VMware虚拟化环境中的安装与优化指南
  • DagsHub+GitHub Action+CML构建机器学习CI/CD流水线
  • Java数组连接性能优化与实战技巧
  • 帝舵官方售后服务中心地址与热线实地考察报告_多信源验证(2026年7月更新) - 帝舵中国官方服务中心
  • 厦门欧米茄回收价格查询及靠谱回收平台实测排行(2026年7月最新数据) - 嘉价奢侈品回收平台
  • LLM-笨笨的agent 闭环沙盒任务测试: 把{private}/LLM/story/I_am_back.md发表到博客网
  • 2026年7月最新盐城萧邦官方售后服务热线与网点地址查询 - 萧邦中国官方服务中心
  • Canva高级排版实战手册(非公开工作流首次披露)
  • Android广播机制详解与应用实践
  • Go 最被低估的设计:两个方法,统一了一切
  • C++简历技能描述重构:从表层罗列到底层能力展示的4+4框架
  • 18岁,我的第一篇博客
  • 盘锦护栏围墙改造选哪家?材质施工报价三点要看清楚
  • 2026年7月最新上海百达翡丽官方售后热线及客户服务网点地址 - 百达翡丽官方售后中心
  • 4大架构理念重塑你的跨平台输入法词库生态系统
  • Pull与Push:信息交付的两种范式与协同设计
  • Android开发必备开源库选型与实战指南
  • 2026选择技校时,这几个常见误区要避开
  • Cordova插件开发实战:从入门到发布