有没有更简单的写法:
rver_t *buf = malloc(sizeof(rver_t));
rver_t tmp = (rver_t) {.op=OP_RVER, .protocol_version=1};
memcpy(buf, tmp, sizeof(rver_t));
用结构初始化 malloc 缓冲区?
注意:typedef 发生在 header 中:
#define OP_RVER 1
typedef struct rver_s {
uint32_t op;
uint32_t protocol_version;
} rver_t;
最佳答案
您可以输入:
buf -> op = OP_EVER;
buf -> protocol_version = 1;
关于c - 使用复合文字来初始化 malloc 的缓冲区,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14749968/