本人遇到了一个问题,想了好久都没有想明白。 以下是程序片断:
typedef struct
{
unsigned char icmp_type;
unsigned char icmp_code;
unsigned short icmp_checksum;
unsigned short icmp_id;
unsigned short icmp_squence;
unsigned short icmp_timestamp;
}ICMP_HDR,*PICMP_HDR; int main()
{
...
char buff[sizeof(ICMP_HDR)+32];
...
return 0;
}
在这问题出现了,在定义这个数组的时候为什么要在sizeof(ICMP_HDR)的基础上要加上32阿??
typedef struct
{
unsigned char icmp_type;
unsigned char icmp_code;
unsigned short icmp_checksum;
unsigned short icmp_id;
unsigned short icmp_squence;
unsigned short icmp_timestamp;
}ICMP_HDR,*PICMP_HDR; int main()
{
...
char buff[sizeof(ICMP_HDR)+32];
...
return 0;
}
在这问题出现了,在定义这个数组的时候为什么要在sizeof(ICMP_HDR)的基础上要加上32阿??
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货