注意:这里我们用malloc ,而不是一开始就定义 char sockaddr[MAXSOCKADDR]然后按照协议作类型强转
。是因为malloc 总是返回一个系统所要求的严格对齐的指针, 而char数组可能被分配在一个奇数字节的边界上,
一旦是这种情况发生,我们在类型强转后使用协议地址时就会有问题。
除char 外的其他大多数多字节类型,系统在分配时应当还是严格按照偶数字节边界对齐的。
注意:这里我们用malloc ,而不是一开始就定义 char sockaddr[MAXSOCKADDR]然后按照协议作类型强转
。是因为malloc 总是返回一个系统所要求的严格对齐的指针, 而char数组可能被分配在一个奇数字节的边界上,
一旦是这种情况发生,我们在类型强转后使用协议地址时就会有问题。
除char 外的其他大多数多字节类型,系统在分配时应当还是严格按照偶数字节边界对齐的。