array []括号内的static关键字

时间:2013-02-18 18:00:58

标签: c arrays function static

我最近遇到了static关键字的新用法。 static在这里意味着什么?

void fun(int some_array[static 7]);

编辑:有人会举例说明这有用吗?

1 个答案:

答案 0 :(得分:12)

标准在6.7.6.3中说:

  

参数声明为''数组类型''应调整为   ''类型''的限定指针,类型限定符(如果有的话)   在数组类型派生的[和]内指定的那些。如果   关键字static也出现在数组类型的[和]中   派生,然后对每个函数调用,得到的值   相应的实际参数应提供对第一个的访问权限   数组的元素,其元素至少与指定的元素一样多   大小表达。

这是C99中引入的一项功能。所以你拥有它:some_array必须至少有7个元素长。


正如他们所说,如果没有关键字static的新用法,就不会有新标准。