【发布时间】:2013-10-16 03:27:01
【问题描述】:
在我的 C 语言练习中,我遇到了一个表达式,然后我将其简化如下:
int a=({10;});
这是一个合法的表达式,因为它通过了 gcc 编译器。
请关注这部分:({10;})。有人能解释一下吗?越详细越好。谢谢!
【问题讨论】:
-
我几乎肯定这是一个 gcc 扩展,而不是一段合法的 C 代码。不过,我很想知道它是什么。
-
也试试这个
int a = [10]; -
含义已经解释过了(是gcc的扩展),不过写成
int a = 10;更清晰便携 -
@GrijeshChauhan:嗯?对于
int a = [10];,gcc 给了我error: expected expression before ‘[’ token。你期望它做什么? -
@GrijeshChauhan:不,这也是语法错误。 (您应该在发布之前尝试一下。)
标签: c gcc gcc-extensions