gpt4 book ai didi

c - 结构标签

转载 作者:太空狗 更新时间:2023-10-29 15:13:54 26 4
gpt4 key购买 nike

在 C 中,我希望能够标记结构中的特定位置。例如:

struct test {
char name[20];

position:
int x;
int y;
};

我能做到的:

struct test srs[2];
memcpy(&srs[1].position, &srs[0].position, sizeof(test) - offsetof(test, position));

将srs[0]的位置复制到srs[1]中。

我曾尝试将位置声明为不带任何字节的类型,但这也不起作用:

struct test {
char name[20];

void position; //unsigned position: 0; doesn't work either
int x;
int y;
};

我知道我可以将 x 和 y 嵌入到另一个名为 position 的结构中:

struct test {
char name[20];

struct {
int x;
int y;
} position;
};

或者只使用 x 属性的位置:

struct test srs[2];
memcpy(&srs[1].x, &srs[0].x, sizeof(test) - offsetof(test, x));

但是我想知道是否有办法实现我最初提出的建议。

最佳答案

struct test {
char name[20];

char position[0];
int x;
int y;
};

0 长度数组在网络协议(protocol)代码中非常流行。

关于c - 结构标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25211531/

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