static の有効範囲 ― 2011年07月15日 15時30分49秒
int value, *ptr = &value;
の様に記述できるポインタ型と時折混乱する。
そこで、点検。
% cat static.c
#include <stdio.h>
void p()
{
static int a = 0, b = 0;
int c = 0;
printf("a=%d, b=%d c=%d\n", a++, b++, c++);
}
int main()
{
p();
p();
}
% CC static.c
% ./a.out
a=0, b=0 c=0
a=1, b=1 c=0
同じ行に書かれた変数は全て static として機能している。
最近のコメント