[ARM入门] C语言 数组名和指针的理解

[复制链接]
2766|0
 楼主| aple0807 发表于 2021-5-9 11:04 | 显示全部楼层 |阅读模式
本帖最后由 aple0807 于 2021-5-9 11:04 编辑

数组名:本身不占用内存。编译器分配一块内存,数组名代表数组首地址。
指针是一个变量,占用内存,该内存中存储的数据为目标内存地址,

--------------------------------------------------------------------------------------
从汇编及内存角度来看:
访问指针名+索引的过程如下:P[4]
  1. LDR R0,=P        ->取指针变量地址
  2. LDR R1, [R0]     ->取指针值
  3. LDR R2, [R1,#4]  ->取目标位置偏移4处的值
用数组名+索引访问的过程如下:ARRY[4]
  1. LDR R1,=ARRY     ->取数组地址
  2. LDR R2, [R1,#4]  ->取数组索引4处的值

欢迎指正!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

77

主题

326

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部