在struct数组中选择不同的数据类型

时间:2016-09-22 19:50:16

标签: c

我在程序中使用数百万次这样的结构

typedef struct {
    unsigned int a, b, c;
} B_STRUCT;

然后我将结构体构建成一个非常大的数组,如下所示:

HUGE_ARRAY_STRUCT[2][191914131].a = 234;
HUGE_ARRAY_STRUCT[2][191914131].b = 232;

大约99.9%的有问题的数据远小于unsigned short int size,但使用unsigned int是安全的。虽然这听起来像是一个微不足道的问题,但有时差异在RAM中 几GB

如果整数是>有没有办法可以使用上面的结构?比unsigned short int max和下面的结构如果它们低于unsigned short int max?

typedef struct {
    unsigned int a;
    unsigned short int b, c;
} SMALLER_STRUCT;

但是,我可以在一种情况下使用一种数据类型构建HUGE_ARRAY_STRUCT,在另一种情况下,在同一结构数组中构建另一种数据类型吗?

0 个答案:

没有答案