首页 > 其他 > 详细

*(volatile unsigned long *) 语法

时间:2014-03-13 12:24:27      阅读:504      评论:0      收藏:0      [点我收藏+]
bubuko.com,布布扣
#define GPJ2CON (*(volatile unsigned long *) 0xE0200280)
bubuko.com,布布扣

开始对于上面的语法不太理解,但通过拆分,我们可以看的更明白:

1、(unsigned long *)变量,代表“变量”是一个unsigned long类型的指针;例如:(unsigned long *)i ,语句中 i 即为 (unsigned long *)的一个指针;

2、volatile是一个修饰符,告诉编译器此段代码不要优化;因此,(volatile unsigned long *)变量,意思是未优化指针类型的变量;例如:(volatile unsigned long *)i ,语句中 i 即为 (volatile unsigned long *)的一个指针;

3、(volatile unsigned long *) 0xE0200280,此处把变量换成了固定地址,意思是(volatile unsigned long *)指针指向固定的地址 0xE0200280

4、前面再加一个*,即 (volatile unsigned long *) 0xE0200280 代表 GPJ2CON 是一个变量,我们既可以给固定地址中赋值,也可以从固定地址中取值。例如:(volatile unsigned long *)i ,语句中 i 即为 (volatile unsigned long *)的一个指针,而 *i 即代表 i 中存储的值,我们既可以对其赋值,又可以从其中取值;

*(volatile unsigned long *) 语法,布布扣,bubuko.com

*(volatile unsigned long *) 语法

原文:http://www.cnblogs.com/zhangpengshou/p/3597646.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!