MW211 EXIT

devlog
C言語/static修飾子
2013年05月24日
static修飾子には以下の二つの用途がある。

  (a)静的記憶領域を使用する

  (b)スコープをそのファイルに限定する

ローカル変数のstatic修飾子は(a)、
グローバル変数のstatic修飾子、関数のstatic修飾子は(b)になる。

どちらかといえば代表的なのは(a)の方なので、
(a)の意味で(b)の用例を解釈しようとするとわけがわからなくなる

ちなみに、グローバル変数は静的記憶領域にあるのが前提なので
(a)としての役割は必要ない。よって、(b)としての役割となる。

また、関数は静的記憶領域とか動的記憶領域とかと別の概念(プログラム領域)なので
(a)としての役割は必要ない。よって、(b)としての役割となる。

ってことなのだろうか。

(b)は別の名前にしてくれれば紛らわしくないんだけど、と思ってしまう。
分類:C/C++、注意