我最近遇到了static
关键字的新用法。
static
在这里意味着什么?
void fun(int some_array[static 7]);
编辑:有人会举例说明这有用吗?
答案 0 :(得分:12)
标准在6.7.6.3中说:
参数声明为''数组类型''应调整为 ''类型''的限定指针,类型限定符(如果有的话) 在数组类型派生的[和]内指定的那些。如果 关键字static也出现在数组类型的[和]中 派生,然后对每个函数调用,得到的值 相应的实际参数应提供对第一个的访问权限 数组的元素,其元素至少与指定的元素一样多 大小表达。
这是C99中引入的一项功能。所以你拥有它:some_array
必须至少有7个元素长。
正如他们所说,如果没有关键字static
的新用法,就不会有新标准。