文件名称:标记语句-eda技术实用教程 vhdl版(第四版) 潘松 科学出版社
文件大小:4.12MB
文件格式:PDF
更新时间:2024-07-07 04:50:05
C#
8.4 标记语句 labeled-statement 可以给语句加上一个标签作为前缀。标记语句可以出现在块中,但是不允许它们作为 嵌入语句。 labeled-statement: identifier : statement 标记语句声明了一个标签,它由 identifier 来命名。标签的范围为在其中声明了该标签的整个块,包括 任何嵌套块。两个同名的标签若具有重叠的范围,则会产生一个编译时错误。 标签可以在该标签的范围内被 goto 语句(第 8.9.3 节)引用。这意味着 goto 语句可以在它所在的块内 转移控制,也可以将控制转到该块外部,但是永远不能将控制转入该块所含的嵌套块的内部。 标签具有自己的声明空间,并不影响其他标识符。下面的示例 int F(int x) { if (x >= 0) goto x; x = -x; x: return x; } 是有效的,尽管它将 x 同时用作参数和标签的名称。 执行一个标记语句就是执行该标签后的那个语句。 除由正常控制流程提供的可到达性外,如果一个标签由一个可到达的 goto 语句引用,则该标记语句是 可到达的。(异常:如果 goto 语句在一个包含了 finally 块的 try 中,标记语句在 try 之外,并且 finally 块的结束点不可到达,则从该 goto 语句不可到达上述标记语句。)