嵌入式c语言新手起步《const volatile关键字的认识》

毕业一年,工作之余也有点无聊,还是写点东西,一则和大家相互交流,自己也能记住学习的东西,而且也能打发下班回来无聊的时间,一石三鸟 O(∩_∩)O哈哈~,我个人还是对嵌入式c比较感兴趣,一个硬件通过编写程序就能让它运行起来 感到很神奇 O(∩_∩)O~。

前两天看了几个关键字,现在写出来就当考验下自己,其中有些认识不到位的,谢谢大家能指出来,希望和大家一起进步。

 

1.const

 

const int a ;   常整形的a (int 不可变)

int const a;    整形的常数a (a不可变)

int const *a;  整形的常指针(指针不可变)

const int *a ; 常整形的指针(int 不可变)

const int *a const; 常整形的常指针(int 指针都不可变)

 

一般人问起const的作用 我的回答通常是‘只读’。一般入参函数前面加入const 让人很容易分清那些是入参函数。

假如 定义int const a;  再给a赋值 编译器就会报错;就相当于常数赋值如:1=4 ;

2.volatile

被volatile修饰的变量,一般不被寄存器优化,告诉编译器,这个值随时可能会变化,一般用于多线程下多任务共享的变量,还有状态寄存器,中断子程序中的全局变量。有些

举个简单例子说明下volatile

volatile int a = 10;

printf("%d",a);

volatile int b = a;

printf("%d",b);

此时打印出来的a 和b 可能相等 也可能不等,因为volatile告诉编译器 这个值随时可以改变。

有错误的认识希望大家指出来,十分感激!

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值