2013-02-18 85 views
7

我最近遇到新的使用static关键字。 static这是什么意思?array []括号内的静态关键字

void fun(int some_array[static 7]); 

编辑:有人可以举一个例子,其中这可能是有用的?

+0

取自http://hamberg.no/erlend/posts/2013-02-18-static-array-indices.html? – 2013-02-18 18:46:58

回答

12

标准说,在6.7.6.3:

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

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


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

+2

“正如他们所说,没有关键字'static'的新用法就不可能有新的标准”,我知道这很难。 – paulotorrens 2014-04-30 07:26:15

相关问题