わさっきhb

大学(教育研究)とか ,親馬鹿とか,和歌山とか,とか,とか.

入れ子

C言語をはじめ,多くのプログラミング言語では,カッコが多数,現れます.中学高校の数学なんかで,小カッコ・中カッコ・大カッコなんてのを使っていたと思いますが,プログラミングで(と),{と},[と]はそれぞれ別物です.例えば…

printf{"%d\n", n * (n - 1) / 2};

と書いたら,コンパイルエラーになります.
Cとしての書き方は,こうですね.

printf("%d\n", n * (n - 1) / 2);

このように,カッコの中にカッコがあるのを,カッコの『入れ子』と言います.
入れ子構造は,プログラミングのいろいろなところに出てきます.第3回授業では,if文の中にif文というのが出てきまして,それはif文の入れ子なわけです.
またプログラムの記述といった静的なものだけでなく,動的なもの,言い換えると動作あるいは振る舞いにおいても,入れ子が使われます.main関数の中で,ある関数を呼び出し,その関数が,また別の関数を呼び出したら,関数呼び出しの入れ子となるわけです.
日本語では『入れ子』と言いますが,英語の『ネスト』も同じくらい使われます.カッコのネスト,if文のネスト,関数呼び出しのネスト,などなどです.ロシアでは『マトリョーシカ』と呼ばれます」