c-切换“未知”情况

时间:2018-09-02 16:13:44

标签: c keyword

我最近确实阅读了一些st终端源代码。我确实找到了这段代码:

switch (csiescseq.mode[0]) {
default:
unknown:
    fprintf(stderr, "erresc: unknown csi ");
    csidump();
    /* die(""); */
    break;
case '@': /* ICH -- Insert <n> blank char */

“未知”关键字(?)有什么作用?我在任何地方都找不到“未知”关键字的任何内容。 感谢您的帮助。

1 个答案:

答案 0 :(得分:7)

在此代码中,unknown只是一个标签。 C允许您在任何语句前加上标签。该标签可用作goto语句的目标。

这是C 2018 6.8.1“标签声明”中的语法:

  

标签说明
  标识符声明
  案例 常量表达式声明
  默认声明

     

...

     

任何语句前面都可以带有一个将标识符声明为标签名称的前缀。