数据类型,位运算

共用体
共用体的概念
有时需要使几种不同类型的变量存放到同一段内存单元中。

结构体变量所占内存长度是各成员占的内存长度之和。

共用体变量所占的内存长度等于最长的成员的长度。

共用体引用方式
例如

共用体数据类型特点
(1)同一个内存段可以用来存放几种不同类型的成员,但在每一瞬时只能存放其中一种,而不是同时存放几种。

(2)共用体变量中起作用的成员是最后一次存放的成员,在存入一个新的成员后原有的成员就失去作用。

(3)共用体变量的地址和它的各成员的地址都是同一地址。

(4)不能对共用体变量名赋值,也不能企图引用变量名来得到一个值,又不能在定义共用体变量时对它初始化。

(5)不能把共用体变量作为函数参数,也不能使函数带回共用体变量,但可以使用指向共用体变量的指针(与结构体变量这种用法相仿)。

(6)共用体类型可以出现在结构体类型定义中,也可以定义共用体数组。

枚举类型


(1)在C编译中,对枚举元素按常量处理,故称枚举常量。它们不是变量,不能对它们赋值。

(2)枚举元素作为常量,它们是有值的,C语言编译按定义时的顺序使它们的值为0,

(3)枚举值可以用来作判断比较:

(4)一个整数不能直接赋给一个枚举变量。

用typedef定义类型


用一个新的名字来代指原来的数据类型,类似绰号

位运算


按位与'&'
参加运算的两个数据,按二进制位进行“与”运算。如果两个相应的二进制位都为1,则该位的结果值为1;否则为0。

主要作用

(1)清零

(2)取一些数的定位

按位或运算' | '
两个相应的二进制位中只要有一个为1,该位的结果值为1。即010=0,0|1=1,110=1,1l1=1。

作用,为某些数定1

按位异或' ^ ' 
异或运算符∧也称XOR运算符。它的规则是:若参加运算的两个二进制位同号,则结果为0(假);异号则为1(真)。即00=0,01=1,10=1,11=0。

(1)特定位反转

(2)交换两值

取反运算符’ ~ ‘ 
~是一个单目(元)运算符,用来对一个二进制数按位取反,即将0变1,将1变0。例如,~025 是对八进制数25(即二进制数00010101)按位求反。

左移运算符' << '
用来将一个数的各二进制位全部左移若干位。

右移运算符' >> '
a>>2表示将a的各二进制位右移2位,移到右端的低位被舍弃,对无符号数,高位补0。例如,a=017时:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值