打印
[ARM入门]

C语言 数组名和指针的理解

[复制链接]
2348|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
aple0807|  楼主 | 2021-5-9 11:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 aple0807 于 2021-5-9 11:04 编辑

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

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

欢迎指正!!!

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

77

主题

328

帖子

2

粉丝