c - "Throw NULL"C 中的语句

标签 c null goto throw

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

看起来像

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

我什至不确定是否抛出 Null;正在前往..

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

正常吗?我的意思是,代码当然可以工作,我不是一个有经验的人,但还没有见过这样的。(抱歉菜鸟说话)

最佳答案

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

最好的办法是查看预处理器输出(例如由 gcc -E 获得的输出),看看它实际上将其变成了什么。

或者,遵循头文件包含内容,因为其中之一几乎肯定会提供此模拟。

关于c - "Throw NULL"C 中的语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26332334/

相关文章:

bash - 如果返回代码 >=1 重新运行脚本,从头开始

c - 如何在c中将枚举名称转换为字符串

代码块调试问题

c - 需要从数据文件中读取一个字符数组,我有一个循环设置,它只输出数字而不是我期望的字符

c++ - 嵌套循环中 goto 的替代方法?

Windows 批处理文件 - 系统找不到指定的批处理标签

c - 在特定核心/线程上运行代码?

返回非空的MySQL函数

null - null 和 space 有点区别

mysql - SQL 查询中的 IS NULL 和 IS NOT NULL 不起作用