首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

怎么定义个新的数据类型

2012-09-11 
如何定义个新的数据类型?我需要定义一个新的数据类型,要求长度是12位。char是8位的,短了。int是16位或者32位

如何定义个新的数据类型?
我需要定义一个新的数据类型,要求长度是12位。

char是8位的,短了。
int是16位或者32位的,长了。

实际上如果int是16位的,长点儿也无所谓,浪费点儿。
可是int本身也受系统影响,可能16,可能32啊。

怎么定义一个12位长度的新数据类型呢?或者怎么确保int就是16位的呢?

[解决办法]
没办法定义12bit的数据
要保证字节数,可以struct a{ char m[2] }

大多数情况下,不需要如此节省内存
如果是严格限制内存的单片机等环境,那就没办法了,但一般电脑上,这样做会导致降低运行效率
[解决办法]
用位域就可以了。
[解决办法]
位域结构体(注意位域的大部费特性依赖实现)
[解决办法]
int16_t n = 10;
printf("%d\n", sizeof(n)); //2

[解决办法]
用位域是个不错的选择
[解决办法]
位域是个好方法

热点排行