静的変数を宣言する。
初期値は定数である必要がある。
宣言された変数は,そのスコープにおいて永続的な寿命を持つ。たとえば関数内で静的変数を宣言した場合,関数が終了してもその記憶領域は保持され,次回以降関数を呼び出した時に再度その領域に変数が割り当てられる。
グローバル変数に適用した場合,その変数はそのコンパイル単位でのみ有効な変数となる(ファイルスコープ)。無修飾のグローバル変数は,外部のコンパイル単位から extern 宣言を使うことで参照できるが,静的変数は外部から参照できない。ただし,外部結合禁止の目的で使用することは C++ では非推奨である(Cのやり方)。
C++ でファイルスコープを実現したい場合は無名名前空間を用いる。