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 に答える