[技术手册] C语言访问某特定的内存位置

[复制链接]
979|9
 楼主| 星辰大海不退缩 发表于 2023-12-16 14:14 | 显示全部楼层 |阅读模式
嵌入式系统经常具有要求程序员去访问某特定的内存位置的特点。在某工程中,要求设置一绝对地址为0x67a9的整型变量的值为0xaa66。编译器是一个纯粹的ANSI编译器。写代码去完成这一任务。

考察点:

这一问题测试你是否知道为了访问一绝对地址把一个整型数强制转换(typecast)为一指针是合法的。

  1. int *ptr;
  2. ptr = (int *)0x67a9;
  3. *ptr = 0xaa55;

  4. ......

  5. *(int *const)(0x67a9) = 0xaa66;


AdaMaYun 发表于 2023-12-16 14:26 | 显示全部楼层
用指针很轻松访问地址内存
LOVEEVER 发表于 2023-12-16 14:47 | 显示全部楼层
确实指针还是很复杂的,细节上需要琢磨
jf101 发表于 2023-12-19 09:45 | 显示全部楼层
编译器是一个纯粹的ANSI编译器
OKAKAKO 发表于 2023-12-19 10:18 | 显示全部楼层
指针轻松搞定地址空间
小小蚂蚁举千斤 发表于 2023-12-19 10:36 | 显示全部楼层
用指针很轻松访问地址内存
中国龙芯CDX 发表于 2023-12-21 09:13 | 显示全部楼层
地址寻址其实就是单片机运行的根本
 楼主| 星辰大海不退缩 发表于 2023-12-21 12:28 | 显示全部楼层
AdaMaYun 发表于 2023-12-16 14:26
用指针很轻松访问地址内存

指针的初衷应该就是快速访问地址
 楼主| 星辰大海不退缩 发表于 2023-12-21 12:28 | 显示全部楼层
中国龙芯CDX 发表于 2023-12-21 09:13
地址寻址其实就是单片机运行的根本

这个其实这样理解也可以
szt1993 发表于 2023-12-22 12:16 | 显示全部楼层
整型数强制转换(typecast)为一指针是合法的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

302

主题

2838

帖子

6

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