gpt4 book ai didi

c++ - 从 struct 到 char * 的转换问题

转载 作者:行者123 更新时间:2023-11-27 23:15:41 25 4
gpt4 key购买 nike

我有一个大小为 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 * 被类型转换为 packet *,则 strut 成员不会获得在发送方分配的值。为什么会这样?

最佳答案

char* 是一个指针(即内存地址),所以是 32 位的(在 32 位平台上); 4 个字节。

关于c++ - 从 struct 到 char * 的转换问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16540308/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com