【问题标题】:Array subscript in C [duplicate]C中的数组下标[重复]
【发布时间】:2015-05-07 06:16:37
【问题描述】:

我一直在寻找允许声明类似内容的相关 GCC 文档。

unsigned int subs = 10;
unsigned int array1[subs];

我知道这样的声明是有效的并且可以使用 gcc。我想获得相关的 GCC 文件,说明可以声明。

谢谢,

【问题讨论】:

  • 在C99中也有效
  • 这不是重复的,OP 不在乎它们是如何实现的。
  • @iharob:重复意味着另一个问题是一个超集,也提供了这个问题的答案。它确实如此。接受的答案有一个文档链接,另外还显示了编译器生成的内容。这个问题不要求第二部分这一事实并不值得重复回答。

标签: c arrays linux gcc


【解决方案1】:

来自6.9 Arrays of Variable Length

作为扩展,GCC 接受可变长度数组作为结构或联合的成员。例如:

    void
    foo (int n)
    {
      struct S { int x[n]; };
    }

【讨论】:

  • 我不认为这是问题。
  • @iharob:根据问题的要求,这是“指定可以声明的相关 GCC 文件”。
【解决方案2】:

如上所述here

另一个 GNU 扩展允许您使用 变量,而不仅仅是常量。

【讨论】:

    猜你喜欢
    • 2013-11-13
    • 2015-09-14
    • 1970-01-01
    • 2014-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多