Esta es una característica de C99 que le permite establecer campos específicos de la estructura por nombre en un inicializador. Antes de esto, el inicializador necesitaba contener solo los valores, para todos los campos, en orden, lo que todavía funciona, por supuesto.
Entonces, para la siguiente estructura:
struct demo_s {
int first;
int second;
int third;
};
...puedes usar
struct demo_s demo = { 1, 2, 3 };
...o:
struct demo_s demo = { .first = 1, .second = 2, .third = 3 };
...o incluso:
struct demo_s demo = { .first = 1, .third = 3, .second = 2 };
... aunque los dos últimos son solo para C99.