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

自学嵌入式第五天

二维数组的地址

int a[3][4]={{1,3,5,7},{9,11,13,15},{17,19,21,23}};

a是二维数组的名,二维数组包括三行四列,可以看成是三个一位数组组成的

第一个数组的名为a[0],第二个为a[1],第二个为a[2]

则a[0] = &a[0][0], a[1] = &a[1][0], a[2] = &a[2][0];

a[0] + 1 = &a[0][1], a[0] + 2= &a[0][2], a[1] + 1 = &a[1][1], a[1] + 2= &a[1][2],

*a[0] = a[0][0] = 1,*(a[0] + 1 )= a[0][1] = 3,

*a = a[0] = &a[0][0],*(a + 1 )= a[1] = &a[1][0], *(a + 2) = a[2] = &a[2][0].

**a = a[0][0] = 1;

而 *a +1 = a[0] + 1 = &a[0][1];


int *p = a; 这种情况下 p = a = &a[0][0],

*p = a[0][0], *(p+1 )= a[1][0], (数值相同类型不同)详情见下方数组指针



数组指针

定义一个指针,指向一个数组

数组指针才是真正等同于一个二维数组名

int (*p)[4] ;

p = a; p+1 = a+1 = &a[1] = &a[1][0];


函数指针

函数名就是地址

定义方法如上,通过指针间接访问函数,注意函数类型要统一
http://www.jsqmd.com/news/578615/

相关文章:

  • 2026 年你真正需要的 10 个 Claude 插件及其深度解析
  • 2026苏州非标机械设计培训机构测评:综合推荐与选型指南 - 博客湾
  • 5步实现多模态RAG应用:解决大模型幻觉核心痛点
  • OpenClaw 的模型量化中,是否支持对称量化和非对称量化的动态切换?
  • 引爆企业降本增效的AI革命!生成式AI应用专家亲授,从字节跳动到华为的数字化转型实战秘籍!
  • 【Unity】进阶镜头模糊技术:实现多层次UI与场景的精准虚化效果
  • Windows Cleaner:解决C盘爆红问题的终极免费方案
  • 基于Cadence 617的带隙基准电压源设计:从理论推导到仿真验证
  • 工业通信调试效率提升:Modbus工具解决工业自动化协议测试难题
  • JAVA语法,接口和抽象类应该如何抉择
  • Goldfish4Tech空气泵驱动库:嵌入式直流泵安全控制方案
  • 避开MCS-51串口编程的那些坑:从4800波特率计算到中断服务程序编写实战
  • 永磁同步电机直接转矩控制Simulink仿真模型(含四种模型及原理解析)
  • SSM+JSP奥林匹克竞赛交流平台源码+论文
  • 《高效赋能!AI助手高效赋能法律研究智能化,AI应用架构师分析》
  • 基于HT32F1656的高校公寓远程能源监控系统设计
  • ASMR音频资源管理工具:高效构建个人音频库
  • SoftSPIB:支持任意位宽的软件模拟SPI库
  • 嵌入式C高级编程技巧:回调函数与宏定义实战
  • RC滤波器设计实战:从基础到高阶应用
  • ILI9486驱动库设计:嵌入式TFT屏显示与触摸双模优化
  • Python+Hadoop电影数据分析及可视化系统源码+论文
  • 在对话中生成代码时,OpenClaw 的代码风格一致性如何保证?
  • sh c f jv u c j f vj v v
  • STM32外设驱动开发:从寄存器到HAL库实战
  • 嵌入式系统接口技术详解与应用实践
  • 开源工具DLSS Swapper:提升游戏帧率的智能版本管理方案
  • Java+Hadoop+Spark图书推荐系统源码+论文
  • 别再为Active-HDL的License发愁了!手把手教你用Diamond 3.13+Modelsim 10.5搭建Lattice仿真库(附避坑指南)
  • UltrasonicA:嵌入式超声波测距驱动库设计与实战