差异是结构大小与C中元素的大小总和(使用sizeof)

时间:2016-04-18 19:42:49

标签: c structure sizeof

在结构声明中:

$('.accordion-body:not(.in) > .input-for-paypal').prop('disabled', true)

当使用整个结构的sizeof()及其元素打印尺寸时:

#define VAL_STR_SIZE        30000
#define JSON_KEY_STR_SIZE   200

typedef struct{
      int type;
      int valueint;
   double valuedouble;
   struct cJSON *next;
   struct cJSON *prev;
   struct cJSON *child;
     char valuestring[VAL_STR_SIZE];
     char string[JSON_KEY_STR_SIZE];
} cJSON;

产生以下结果:

  

cJSON结构的大小= 30232字节
  cJSON elem的大小= 4个字节
  cJSON elem的大小= 4个字节
  cJSON elem的大小= 4个字节
  cJSON elem的大小= 200字节
  cJSON elem的大小= 4个字节
  cJSON elem的大小= 8字节
  cJSON elem的大小= 4个字节
  cJSON的大小elem = 30000字节

为什么4个字节的区别为:

  

= sizeof(结构) - sizeof(个别结构元素的总和)
  =(30232-(4 + 4 + 4 + 200 + 4 + 8 + 4 + 30000))
  =(30232 - 30228)
  = 4个字节?

0 个答案:

没有答案