请考虑以下事项:
struct Foo
{
char c;
int i;
};
void Bar(void)
{
struct Foo f = {0}; // use zero initializer
// do some stuff
f = (struct Foo) {'h', 1}; // copy different data into f, is this dangerous?
}
以上演员会被视为危险吗?这是好风格吗?
答案 0 :(得分:9)
这不是风格问题;没有(struct Foo)
的代码将无法编译。它不是演员表,它是C99功能语法的一部分,称为复合文字。