array 括号内的static关键字

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

 void fun(int some_array[static 7]); 

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

该标准在6.7.6.3中说:

将参数声明为”类型数组”应调整为”限定指向类型”,其中类型限定符(如果有)是在数组类型派生的[和]中指定的那些。 如果关键字static也出现在数组类型派生的[和]中 ,那么对于每次对函数的调用,相应的实际参数的值应该提供对数组的第一个元素的访问,其中元素的数量至少与指定的元素一样多。按大小表达。

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


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