"Throw NULL" C 语句



我正在尝试学习一些代码。我发现Throw为NULL;声明。

看起来像

static void function(something)  
{    
  some variables;
  if(a.size > b.size) {
       Throw NULL;
  }
  ...more another codes
}

我甚至不确定抛出零;正在前往。。

看起来像goto()语句,但带有抛出值。。

这正常吗?我的意思是,代码当然在起作用,我不是一个经验丰富的人,但从未见过这样的情况。(很抱歉noobs在说话)

这不是标准C,但看起来像是模拟语言中的异常机制的东西(例如,可以用setjmp/longjmp来完成)。

最好的办法是查看预处理器的输出(比如gcc -E获得的输出),看看它到底把它变成了什么。

或者,遵循头文件包含,因为其中一个几乎肯定会提供这种模拟。

最新更新