在标准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内核中常被用于宏的定义中。语言