Tôi chỉ đọc some code trong st terminal emulator và đã xem qua cú pháp này:Trong C nghĩa là gì [foo] = bar nghĩa là gì?
static void (*handler[LASTEvent])(XEvent *) = {
[KeyPress] = kpress,
[ClientMessage] = cmessage,
/* Removed some lines for brevity ... */
};
Tôi chưa bao giờ thấy cú pháp này trong C và tôi thậm chí không chắc chắn những gì để google cho. Tôi có một ý tưởng thô những gì nó làm (xác định xử lý như là một mảng các con trỏ hàm), nhưng tôi muốn hiểu cú pháp này tốt hơn. Dường như nó có giá trị ít nhất trong C99, nhưng tôi đang tìm một số chi tiết hơn tại sao điều này là chính xác, chính xác nó hoạt động như thế nào và có thể là con trỏ tới tiêu chuẩn C trong đó cú pháp này được định nghĩa.
Nếu tôi phải mạo hiểm một đoán, nó dường như là một số mảng khởi tạo chỉ mục. –