在C11标准中
6.8语句和块
块允许将一组声明和语句分组为一个语法单元。
6.8.2复合报表语法
复合语句:{块-项-列表}块-项-列表:块-项块-列表块-项块-项:声明语句语义
复合语句是块。
6.9.1函数definitions
语法
函数-definition:声明-specifiers声明-listopt复合语句
所以复合语句就是块。
块是复合语句吗?
在函数定义中,部分“复合语句”是否意味着与块相同?
发布于 2020-10-16 03:21:47
复合语句是块,但它不是唯一的块。迭代语句也是块,例如(6.8.5/5),即使循环体由一个简单的语句组成。
函数定义的语法与迭代语句不同,需要大括号。复合语句是一个由大括号包围的句法范畴.
块是一个语义类别,用于指定名称的范围和自动对象的生存期。
https://stackoverflow.com/questions/64382279
复制相似问题