在標準C中:linux
表達式 指 運算符和操做數的組合spa
複合語句 指 把一個或多個語句用 { } 括起來組成的一個語句,稱 複合語句。(在程序中應把複合語句當作是單條語句,而不是多條語句。複合語句內的各條語句都必須以分號 ; 結尾code
舉例:下面就是一個C 語言中的複合語句。io
{ x=y+z; a=b+c; printf("%d%d",x,a); }
在GNU C中 ,容許 小括號 括起來的 複合語句 出如今一個表達式中數據類型
舉例:程序
int a = ({ int b = 1; int c =99; b + c; b + c - 10; }); int c = 10;
注意 GNU C 中a 的值是 複合語句中最後一個語句的值,而且它的數據類型與最後一個語句的數據類型相匹配。並且b和c只存在於大括號限定的代碼域中, 外面依舊能夠再次用int c數據
// 這種特性(Statements and Declarations in Expressions)在linux內核中常被用於宏的定義中。語言