gpt4 book ai didi

c - C 结构语法中的括号

转载 作者:行者123 更新时间:2023-12-04 11:22:01 25 4
gpt4 key购买 nike

我正在处理以下结构:

typedef PACKED struct {
word len; /* # of bytes to log (including len)*/
word type; /* What kind of data is in this pkt */
qword time; /* What time it was generated */
byte data[MAX_DATA_BUFFER_SIZE];
} log_mobile_data_type;

我的问题是,结构的最后一个成员到底是什么?大小等于 MAX_DATA_BUFFER_SIZE 的成员,还是只有 1(字节)?一旦我将实际数据读入“数据”成员,“数据”成员代表实际数据,还是只是指向它的指针?谢谢!

最佳答案

这是一个 byte 数组,大小为 MAX_DATA_BUFFER_SIZE;它不是指针,数据直接存储在 struct 中。

当您复制 struct 时(例如,通过将其作为普通参数传递给函数),数据也会被复制,因为它是 struct 的一部分。

(顺便说一下,在 C 中将数组嵌入到 struct 中是将数组按值传递给函数的唯一方法)

关于c - C 结构语法中的括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6390840/

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