como atribuir vários valores a uma estrutura de uma só ve

Eu posso fazer isso na inicialização de uma estrutura Foo:

Foo foo =  {bunch, of, things, initialized};

mas não posso fazer isso:

Foo foo;
foo = {bunch, of, things, initialized};

Então, duas perguntas:

Por que não posso fazer o último, o primeiro é um construtor especial apenas para inicializaçã

Como posso fazer algo semelhante ao segundo exemplo, ou seja, declarar um monte de variáveis para uma estrutura em uma única linha de código depois que ela já foi inicializada? Estou tentando evitar fazer isso para grandes estruturas com muitas variáveis:

Foo foo;

foo.a = 1;
foo.b = 2;
foo.c = 3;
//... ad infinitum

questionAnswers(12)

yourAnswerToTheQuestion