c - 我想获取嵌套的 unsizes 结构数组中的项目数。我该怎么做?

标签 c

struct store
{
 ...
 struct item
 {
  ...
 }it[];
 struct employee
 {
  ...
 }e[];
}s[];

这里我想知道在获取结构项的输入后存储了多少项

最佳答案

对于无界数组,C 没有“数组大小”的概念。事实上,它的数组概念充其量是摇摇欲坠的。

通常使用的两个选项是:

  1. 在数组旁边存储一个“长度”属性
  2. 以零结束数组,即最后一个元素之后的指针为零

对于您的情况,我推荐两者中的第一个:

struct mydatastruct
{
    int store_length;
    struct store
    {
        ...
        int item_length;
        struct item
        {
            ...
        } it[];
        int employee_length;
        struct employee    {
            ...
        } e[];
    } s[];
} mystruct;

关于c - 我想获取嵌套的 unsizes 结构数组中的项目数。我该怎么做?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36018210/

相关文章:

c - sscanf 没有检测到零

C函数在多个源文件中的声明和定义

c - C 语言和 Mac OSX

c - 使用函数确定最小值或最大值

c - 获取 C 程序使用的峰值内存量

c - C语言中是否有相当于clog的东西?

c - 具有长链表的多线程

使用指针在结构内创建一个可变长度的 int 数组

c - 缓冲区溢出或其他

c++ - 在这种情况下,是否有比 if-else 更快的替代方案?