タグ

ブックマーク / www.cc.kyoto-su.ac.jp/~hxm (1)

  • 局所変数,大域変数,有効範囲

    | 局所変数とその有効範囲 | ブロックの入れ子による有効範囲の限定 | 大域変数とその有効範囲 | 関数の仮引数の有効範囲 | 演習問題 | 局所変数とその有効範囲 そもそもプログラミング言語で変数を使うためには, 値を格納する場所をメモリ上に確保し, その変数名でそこにアクセスできるようにしなければなりません. C言語では変数の定義でそれを行います. これについて説明するために, プログラミングAで出てきた階乗を計算するプログラムを 再びここで挙げてみましょう(ただし関数プロトタイプなどを追加してあります). #include <stdio.h> int factorial(int); int main(void) { int n, fac; printf("n="); scanf("%d", &n); fac=factorial(n); printf("factorial = %d\

    kiyo_hiko
    kiyo_hiko 2015/04/13
    Cはブロックがレキシカルスコープを持つということ。次章をみるとstaticは無限エクステントを実現するために"静的領域"に置かれるが、これはmalloc/freeで使うヒープとは別物みたい
  • 1