Cのスコープ
あんまり書くこともない気がする。
int counter = 0;// グローバル
int main(int argc, char *argv[])
{
int counter = 5;// ローカル
printf("%d", counter);
}
ちなみにブロックスコープはちゃんと存在する。
int main(int argc, char *argv[])
{
int counter = 5;// ローカル
printf("%d", counter);
if(1){
int x = 10;
}
// この空間ではxは不可視
}
■static変数
関数に紐づいた静的な変数で呼び出しごとに初期化されない変数。
int count()
{
static int counter = 0;
return counter++;
}
int main(int argc, char *argv[])
{
printf("%d", count());// 0
printf("%d", count());// 1
printf("%d", count());// 2
}
TrackBack URL :
Comments (0)
コメントはまだありません»
コメントはまだありません。
この投稿へのコメントの RSS フィード。TrackBack URL
コメントする