sync notes(auto)
This commit is contained in:
parent
8b79dc06e2
commit
f6da68404b
1 changed files with 2 additions and 2 deletions
|
@ -14,7 +14,7 @@
|
||||||
2. 同じ変数名の宣言、定義、変更などが来たら、実行時、最後にそうなった値を使う。関数に入ろうが、出ようが関係ない。
|
2. 同じ変数名の宣言、定義、変更などが来たら、実行時、最後にそうなった値を使う。関数に入ろうが、出ようが関係ない。
|
||||||
|
|
||||||
|
|
||||||
現代(2024)のプログラミング言語では、1.が当然のように使われているため、1. 以外の方法がある可能性について、あまり考えたりすることが無い。なんでこのような違いができたのか?は理屈としてはネットの各地で説明されていると思う。
|
現代(2024)のプログラミング言語では、1.が当然のように使われているため、1. 以外の方法がある可能性について、あまり考えたりすることが無い。(なんでこのような違いができたのか?の理屈はネットの各地で説明されていると思うが、その雰囲気とかは自分で関数呼び出しができるインタプリタとかを書いてみるのがよいかも。何かのプログラミング言語のユーザー的な視点だと、このような違いがあるのは結構な違和感)
|
||||||
|
|
||||||
たとえば、以下のCプログラムで、画面に何が表示されるかを考えてみる。
|
たとえば、以下のCプログラムで、画面に何が表示されるかを考えてみる。
|
||||||
```c
|
```c
|
||||||
|
@ -62,7 +62,7 @@ void f3()
|
||||||
}
|
}
|
||||||
void f2()
|
void f2()
|
||||||
{
|
{
|
||||||
printf("%d\n", a); // 2が表示される
|
printf("%d\n", a); // ダイナミックスコープなら、2が表示される
|
||||||
}
|
}
|
||||||
|
|
||||||
void f1()
|
void f1()
|
||||||
|
|
Loading…
Reference in a new issue