Что означает точка перед именем переменной в структуре? - PullRequest
44 голосов
/ 20 сентября 2011

глядя на исходный код ядра Linux, я нашел это:

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,
};

Я никогда не видел такой записи в C. Почему перед именем переменной стоит точка?

Ответы [ 2 ]

30 голосов
/ 20 сентября 2011

Это Назначенный инициализатор , который является синтаксисом, добавленным для C99.

11 голосов
/ 20 сентября 2011

Иногда его называют «назначенной инициализацией». Это дополнение C99, хотя некоторое время оно было расширением GNU.

В списке каждый . называет элемент структуры для инициализации, так называемый указатель.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...