在下面的代码中,您能否解释(pgd_t)
语句中return
{ val };
之后的大括号val
。这段代码是{ val };
吗?使用表达式static inline pgd_t native_make_pgd(pgdval_t val)
{
return (pgd_t) { val };
}
的返回语句是什么?
{{1}}
答案 0 :(得分:1)
如果你在功能面前看,你会看到:
typedef struct { pgdval_t pgd; } pgd_t;
所以代码实际上等同于:
pgd_t temp = { val };
return temp;
大括号是初始化结构的语法的一部分。使用强制转换语法可以将结构创建为表达式的一部分,而不是在初始化变量时。