有人可以解释Pebble C Watchface教程中的部分代码吗?

时间:2015-12-19 07:05:11

标签: c function pebble-watch shorthand pebble-sdk

我正在查看此处https://developer.getpebble.com/tutorials/watchface-tutorial/part1

中的Pebble C表盘教程

有问题的代码部分在这里:

static void init() {
  // Create main Window element and assign to pointer
  s_main_window = window_create();

  // Set handlers to manage the elements inside the Window
  window_set_window_handlers(s_main_window, (WindowHandlers) {
    .load = main_window_load,
    .unload = main_window_unload
  });

  // Show the Window on the watch, with animated=true
  window_stack_push(s_main_window, true);
}

window_set_window_handlers是一个函数声明和调用吗? C中的.load和.unload简写符号的术语是什么?

非常感谢有人可以解释这段代码,谢谢。

1 个答案:

答案 0 :(得分:5)

它被称为Designated Initializers。在传递给WindowHandlers的函数调用之前,结构window_set_window_handlers是内联创建和初始化的。