嵌入式C学习第一次任务

一、位运算

  &:数学中的并且,遇0则清0
  |:数学中的或者,1或0为1、1(0)或1(0)为1(0)
  ^:按位异或,如果两个相应的二进制位值不同则为1,否则为0。
  ~:取反,1变0   0变1
  >>:右移,是将一个二进制位的操作数按指定移动的位数向右移动,移出位被丢弃,左边移出的空位或者一律补0或者补符号位
  <<:左移,是将一个二进制位的操作数按指定移动的位数向左移位,移出位被丢弃,右边的空位一律补0

二、变量

1.静态变量:静态变量属于静态存储方式,其存储空间为内存中的静态数据区(在 静态存储区内分配存储单元),该区域中的数据在整个程序的运行期间一直占用这些存储空间(在程序整个运行期间都不释放),也可以认为是其内存地址不变,直 到整个程序运行结束(相反,而auto自动变量,即动态局部变量,属于动态存储类别,占动态存储空间,函数调用结束后即释放)。静态变量虽在程序的整个执 行过程中始终存在,但是在它作用域之外不能使用。

三、关键字

1.关键字extern:extern最基本的用法是声明全局变量的。这里需要注意两点,一是“声明”,二是“全局变量”;我们先来分析这两个概念。
声明:声明和定义是有区别的。声明不等于定义,声明只是指出了变量的名字,并没有为其分配存储空间;定义指出变量名字同时为变量分配存储空间,定义包含了声明。例如:

extern  int  i;  //声明变量i,但没分配存储空间,还不能使用。
int  i;         //定义了变量i,并分配了空间,可以使用。
extern  int  i = 5; //定义了变量5

 

2.关键字const:const 是定义常变量的关键字。用 const 定义的变量的值是不允许改变的,即不允许给它重新赋值,即使是赋相同的值也不可以。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值