加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

这个宏定义了什么?

发布时间:2020-12-16 03:29:19 所属栏目:百科 来源:网络整理
导读:我读了这块宏(C代码),并在解码它时感到困惑,知道它定义了什么.它定义了什么? #define sram (*((unsigned char (*)[1]) 0)) -广告 解决方法 我认为sram是“开始RAM”. unsigned char[1] 1个无符号字符的数组. unsigned char(*)[1] 大小为1的无符号字符的poin
我读了这块宏(C代码),并在解码它时感到困惑,知道它定义了什么.它定义了什么?
#define sram (*((unsigned char (*)[1]) 0))

-广告

解决方法

我认为sram是“开始RAM”.
unsigned char[1]

1个无符号字符的数组.

unsigned char(*)[1]

大小为1的无符号字符的pointer to an array.

(unsigned char (*)[1]) 0

将0转换为指向无符号字符大小1的数组的指针.

*((unsigned char (*)[1]) 0)

在位置0读取一些内存,并将结果解释为无符号字符大小1的数组.

(*((unsigned char (*)[1]) 0))

到avoid 1+5*8+1==42.

#define sram (*((unsigned char (*)[1]) 0))

将变量sram定义为从位置0开始的内存,并将结果解释为无符号字符大小为1的数组.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读