c -读标签地址有什么用?



我想知道一个人可以使用var = &&label,即:标签地址的读取?我只能说,通过这样的地址,然后使用它跳转不需要任何__label__ mylabel;在块的开始(什么通常需要能够跳转到这样的标签)。

&&的标签地址是gcc扩展。它允许您使用包含标签地址的变量作为goto的目标。例如:

void *p = &&l0;
if (x==1) {
p = &&l1;
} else if (x==2) {
p = &&l2;
}
goto *p;
l0:
printf("at l0n");
l1:
printf("at l1n");
l2:
printf("at l2n");

您可以在gcc文档中阅读此特性的更多详细信息。

最新更新