所以,我有一个程序,我把行号存储在一个变量中,使用

int x = __LINE__;

x的值可以不断变化。
在C中使用goto或任何其他关键字,可以从任意行跳到x给定的行吗?
我在找类似的东西
'keyword' x;

程序移到由变量x定义的行。
如果这不可能,有没有解决办法?

最佳答案

GCC编译器作为一个扩展支持using labels as values,因此您可以以类似于您所追求的方式使用它们。
它允许您:

void *ptr = &&label;
label:

然后
goto *ptr;

跳到label
这在虚拟机的核心中通常很有用,当然也会导致糟糕的意大利面。同样,它也是一个GCC扩展(我想Clang也支持它)。

关于c - 有没有办法跳到C语言中的变量定义的行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40527744/

10-12 07:36