C語言中文網 目錄

C語言復合語句(語句塊)

復合語句(compound statement)簡稱為語句塊,它使用大括號把許多語句和聲明組合到一起,形成單條語句。

{ [聲明和語句的列表] }


語句塊與簡單的語句不同,語句塊不用分號當作結尾。當出現語法上某處需要一條語句,但程序卻需要執行多條語句時,就可以用到語句塊。例如,可以在 if 語句中使用語句塊,或者當循環體需要執行多條語句時,也可以使用語句塊:
{ double result = 0.0, x = 0.0;         // 聲明
  static long status = 0;
  extern int limit;
  ++x;                                  // 語句
  if ( status == 0 )
  {                                     // 新語句塊
     int i = 0;
     while ( status == 0 && i < limit )
     { /* ... */ }                      // 另一個語句塊
  }
  else
  { /* ... */ }                         // 第三個語句塊
}

如果語句塊內需要有聲明,通常會把聲明放在語句塊的頭部,在其他語句之前。然而,C99 并不強制這么做,允許將聲明放在語句塊內的任何地方。

在語句塊內聲明的名稱將具有語句塊作用域。換句話說,這些名稱只有自聲明點開始,一直到語句塊結尾之前有效。在這個作用域內,這種聲明會把在語句塊以外聲明的同名稱對象隱藏起來。

同樣地,動態變量的存儲周期也被限制在語句塊中它們生成的地方。這意味著,如果一個變量沒有被聲明為 static 或 extern,那么該變量的存儲空間會在語句塊結束之后自動被釋放。

精美而實用的網站,提供C語言C++STLLinuxShellJavaGo語言等教程,以及socketGCCviSwing設計模式JSP等專題。

Copyright ?2011-2018 biancheng.net, 陜ICP備15000209號

底部Logo