我有一个大小为 57 字节的结构,但是当我转换为 char * 时,char * 变量的大小仅显示 4 个字节。这有什么问题?
代码:
struct overhead{
unsigned char flags;
unsigned short int seqNo, timeDiff, threshold, length;
};
struct payload{
double forceX,forceY,forceZ,positionX,positionY,positionZ;
};
struct packet{
overhead fields;
payload data;
};
packet pack;
// Assigning some values to the struct members.
char * message = (char *)pack;
retval = send(conn_socket, message , sizeof(message), 0);
编辑:
在接收方,如果将 char * 类型转换为数据包 *,则 strut 成员不会获得在发送方分配的值。为什么会这样?