c中硬编码大小的最佳方法

时间:2012-01-08 12:06:41

标签: c types size

我正在编写一个用于解码二进制文件的c应用程序,我需要确定我的块的大小。阅读文档我明白只有最小尺寸,而最大值取决于编译器或/和架构......

我可以这样做:*** PSEUDOCODE

unsigned char byte;
if((byte = ~0) > 0xff){
    typedef (unsigned char & 0xff) byte; /* I know.. ;P */
}else{
    typedef unsigned char byte;
}

我应该在每次使用unsigned char时应用位掩码来确定还是有另一种方法将大小硬编码为我不知道的类型?

ps:这对我来说很重要的原因是因为我将要进行大量的转移.. 谢谢;)

1 个答案:

答案 0 :(得分:3)

使用C99中添加的stdint.h中的intN_tuintN_t类型(N的常用值为8,16,32,64)。他们保证有固定的尺寸。