① C语言 union联合体变量 计算问题
union 是共享内存。也就是说,i 和 c[2] 共享内存。
int i; 这里是 short int。
c[0] 在低字节,这是“小端”码,PC/widows 用 小端码 little-endian.
c[1] 在高位。
写成2进制:
x.c[0]=10; 写成2进制:00000000 00001010
x.c[1]=1; 写成2进制: 00000001 00000000
i 写成2进制:00000001 00001010
换算到10进制
i = 1 * 256 + 1*8 + 1* 2 = 266
直接用10进制 i = x.c[1]*256+x.c[0] = 256+10=266.
② C语言中的联合又什么
楼主强,会员都出来了,难道其英文叫做vip?
呵呵
union myunion //联合体名
{
//添加联合体变量
};
③ C语言有那些数据类型
C语言有五种基本数据类型:字符、整型、单精度实型、双精度实型和空类型。尽管这几种类型数据的长度和范围随处理器的类型和C语言编译程序的实现而异,但以bit为例,整数与CPU字长相等,一个字符通常为一个字节,浮点值的确切格式则根据实现而定
C语言还提供了几种聚合类型(aggregate
types),包括数组、指针、结构、共用体(联合)、位域和枚举
除v
o
i
d类型外,基本类型的前面可以有各种修饰符。修饰符用来改变基本类型的意义,以便更准确地适应各种情况的需求。修饰符如下:
•
signed(有符号)。
•
unsigned(无符号)。
•
long(长型符)。
•
short(短型符)。修饰符s
i
g
n
e
d、s
h
o
r
t、l
o
n
g和u
n
s
i
g
n
e
d适用于字符和整数两种基本类型,而l
o
n
g还可用于d
o
u
b
l
e(注意,由于long
float与d
o
u
b
l
e意思相同,所以A
N
S
I标准删除了多余的long
float)。
④ C语言中联合体(union)的使用
uniuon data{ int i ; char c ;float f;}x;
定义了一个结合体名叫x 里面包含了int型变量i,char类型c,float类型变量f
int y;这是声明的一个变量