我现在谷歌搜索了几个小时,以便解释下面的代码,但是找不到,欣赏是否有人可以帮助我。
我已经定义了内存位置(地址只是样本),
#define address (0x000001)
然后我有一个结构
typedef struct{
int a;
int c;
int f;
} foo;
和最后(这部分我无法弄清楚)我有像
这样的定义#define foo__ ( (foo *) address)
这是否意味着我正在创建宏,我可以访问结构foo
的元素,而foo
结构从0x000001开始?
我知道代码可以运行 - 已经对它进行了测试但如果我无法理解它的作用就没用了。
编辑。很抱歉有关于问题的信息不清楚 - 是因为恩智浦的LPC微控制器用于嵌入式环境 - 应该首先告诉我 - 我的坏。
感谢您的回答和赞扬 - 我现在想出来了。
答案 0 :(得分:3)
它会创建一个宏,这样如果您使用foo__
,它将假设typedef'd
struct
的实例存在于(在此示例中)0x000001
。< / p>
因此,如果实例存在,并且您可以访问它,那么您将能够相应地访问这些元素。但是,这里没有任何保护,您可以自行决定这是否合理且安全。