69 votes

Que signifie le point avant le nom de la variable dans la structure?

en regardant la source du noyau linux, j'ai trouvé ceci:

 static struct tty_operations serial_ops = {
  .open = tiny_open,
  .close = tiny_close,
  .write = tiny_write,
  .write_room = tiny_write_room,
  .set_termios = tiny_set_termios,
};
 

Je n'ai jamais vu une telle notation en C. Pourquoi y a-t-il un point avant le nom de la variable?

57voto

Reed Copsey Points 315315

Il s'agit d'un initialiseur désigné , qui est la syntaxe ajoutée pour C99.

14voto

sidyll Points 20176

Il est parfois appelé «initialisation désignée». Il s'agit d'un ajout C99, bien qu'il s'agisse d'une extension GNU depuis un certain temps.

Dans la liste, chaque . nomme un membre de la structure à initialiser, le soi-disant désignateur.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X