1

考虑以下:

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?
}

上面的演员会被认为是危险的吗?这是好风格吗?

4

1 回答 1

9

这不是风格问题。如果没有(struct Foo). 它不是强制转换,它是 C99 功能的语法的一部分,称为复合文字

于 2012-07-15T18:07:30.363 回答