• ベストアンサー

{} の名称、使い方

初心者です。教えて頂けますか? int main () { int a; a = 9; { int b; b = a; } return 0; } のような使い方を見たのですが 見やすくする為でしょうか? 調べていのですが名称を教えて頂けますか? よろしくお願いします

質問者が選んだベストアンサー

  • ベストアンサー
  • pick52
  • ベストアンサー率35% (166/466)
回答No.5

{} という記号の名称でしょうか。 それとも、 { ~ } を利用した手法の名称でしょうか。 {} は英名ではブレース(brace)といいます。 日本語名では中括弧とか波括弧と呼ばれています。 http://ja.wikipedia.org/wiki/%E6%8B%AC%E5%BC%A7#.E6.B3.A2.E6.8B.AC.E5.BC.A7.EF.BD.9B.EF.BD.9D C系の言語の影響を受けたプログラミング言語においてはブロックや スコープの範囲を指定するのによく利用されます。 Perlではハッシュ(連想配列)の要素指定にも使われます。

その他の回答 (4)

  • jacta
  • ベストアンサー率26% (845/3158)
回答No.4

使い方次第では可読性を上げることもできます。 目的は有効範囲の制御でしょう。 > 名称を教えて頂けますか? 「複合文」です。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.3

今の ISO C ではブロックの途中でも宣言ができるようになっています>#2. だから, 「ブロックの途中から有効になる」変数は作れるんですが, 有効範囲の終わりは必ず「変数を宣言したブロックの終わり」と決まっています. つまり, 変数の有効範囲を厳格に制御して「この変数はここからここまで有効にしたい」とするのなら, この例のように「途中で突然ブロックに入る」ように書くしかありません. で「見やすいかどうか」だけど.... まあ, お世辞にも「見やすい」とは言えない.

  • php504
  • ベストアンサー率42% (926/2160)
回答No.2

Cでは変数の宣言がブロックの先頭でしか出来ません 関数の中でも変数を局在化したい場合などに{ }でブロック化したりできます。 #include<stdio.h> int main(void) { int a; a = 10; { int a; /* こちらのaのほうが { } 内では有効になる */ a = 20; printf("%d\n", a);/* 20が表示 */ } printf("%d\n", a); /* 10が表示 */ return 0; }

noname#76085
noname#76085
回答No.1

名称:波カッコ、中カッコ、ブレイス (brace), curly bracket 説明:構文(関数定義を含む) 《出典:技術評論社 「ANSI C言語辞典」 ISBN4-7741-0432-9》 質問者様の示したコードは、可読性を悪化させますね。 なんでこんなところに、{...} があるんじゃい?  ということになるかも。

関連するQ&A