8

static私は最近、キーワードの新しい使用法に出くわしました。ここでどういうstatic 意味ですか?

void fun(int some_array[static 7]);

編集:誰かがこれが役立つことができる例を与えることができますか?

4

1 に答える 1

14

標準では、6.7.6.3 で次のように述べられています。

「型の配列」としてのパラメーターの宣言は、「型への修飾ポインター」に調整されます。ここで、型修飾子 (存在する場合) は、配列型派生の [ および ] 内で指定されたものです。キーワード static が配列型派生の [ および ] 内にも現れる場合 、関数の呼び出しごとに、対応する実引数の値により、少なくとも指定された数の要素を持つ配列の最初の要素へのアクセスが提供されます。サイズ表記にて。

これは C99 で導入された機能です。これsome_arrayで、少なくとも 7 つの要素の長さが必要です。


彼らが言うように、キーワードの新しい使用法なしに新しい標準はあり得ませんstatic

于 2013-02-18T18:05:57.257 に答える