中级会员
 
- 积分
- 297
- 金钱
- 297
- 注册时间
- 2012-12-22
- 在线时间
- 24 小时
|
发表于 2013-7-23 13:52:16
|
显示全部楼层
回复【14楼】baiydcwy:
回复【楼主位】yaocp86:
---------------------------------
请的比较深刻哈,呵呵,学习了,不知道能不能讲一下const这个修饰符呢?我好像理解的不是很清楚哦,平时也没用过,能不能也像上面一样,把const也讲一下,清楚、深刻一点,呵呵。。。。。。
---------------------------------
const这个修饰符比volatile要好理解一些,意思就是:不变的静态的,被它修饰的变量叫做静态变量,不过要记住他还是变量而不是常量,只是不会发生变化而已。其实我们应该关注的是编译器到底会把const的变量存储在哪里,对于不同的单片机不同的编译器也是不一样的。比如51,const就是存放在RAM里面,code才是存放在ROM或flash里。但是stm32的编译器则是认为const应该存放在flash里面。不同的编译器也可能不一样,至少IAR for ARM是这样的。
还有就是const指针的用法要特别注意,u8 const*和const u8*是不同的,具体你可以上网搜一下,我也不太记得了 |
|