这个宏定义了什么?

这个宏定义了什么?,第1张

概述我读了这块宏(C代码),并在解码它时感到困惑,知道它定义了什么.它定义了什么? #define sram (*((unsigned char (*)[1]) 0)) -广告 我认为sram是“开始RAM”. unsigned char[1] 1个无符号字符的数组. unsigned char(*)[1] 大小为1的无符号字符的pointer to an array. (unsigned char 我读了这块宏(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的数组.

总结

以上是内存溢出为你收集整理的这个宏定义了什么?全部内容,希望文章能够帮你解决这个宏定义了什么?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1256112.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存