gpt4 book ai didi

c - 具有未定义长度但只有一个 int 元素的数组的目的是什么?

转载 作者:太空宇宙 更新时间:2023-11-04 05:12:06 25 4
gpt4 key购买 nike

我有一个声明这些数组的头文件:

int stVal_On[] = {2};
int stVal_Off[] ={1};
int subVal_On[]={1};
int subMss[]={1};
int subVal_Off[]={0};

然后在声明的结构中使用取消引用的数组:

enter image description here

WriteData 结构的定义:

/* Write structure used in loop for Read- and Write Tests */
typedef struct WriteData {
char* name; // MMS object name
const VOID* data; // Data to write
const SINT32 localFormat; // SVI type (on server)
const SINT32 dataLength; // length of data to write/read
const SINT32 NbrofElmnts; // Number of elements to write/read
char* description; // SVI type as String (on server)
char* SVI_Name; // SVI address of the SVI mapped on server
UINT32 svi_Length; // length of SVI variable on server (used for readback)
} WriteData;

这个 int arr[] = {1}; 成语的目的是什么?如果只分配一个值,为什么还要使用数组?

最佳答案

嗯,我能想到的一个原因与代码组织有关。如果您以表格形式编写代码:

struct {
char const *file_name;
uint16_t flags;
// Other data
} table [] = {
{ .file_name = "/usr/bin/foo", .flags = 0x0 },
};

for (size_t i = 0; i < sizeof(table)/sizeof(table[0]); ++i) {
// do something meaningful with a table row table[i]
}

虽然它现在只是一个 1 的数组,如果您需要添加更多的案例,您的代码已经为它编写好了。您只需要向表初始值设定项添加另一个“行”。

关于c - 具有未定义长度但只有一个 int 元素的数组的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42671012/

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