0

我想将下面的java代码行转换为c代码

static double[][] sat_data = new double[19][4];
static double[][] sat_data_notused = new double[19][4];
static double[][] sbas_data = new double[4][2];

所以请建议我如何用 C 语言在上面声明的正确方法。我的第二个问题是我正在用 java 代码编写 c 代码,它们使用

try {

}catch {

}

所以请告诉我c语言中这种函数的替代块

4

3 回答 3

0

C 中不允许尝试和捕获。

但第一部分,看看这个:

static double sat_data[19][4];
static double sat_data_notused[19][4];
static double sbas_data[4][2];
于 2013-02-27T09:09:48.960 回答
0

前三个很简单:

static double sat_data[19][4];
static double sat_data_notused[19][4];
static double sbas_data[4][2];

-blocktry更难,但可能不需要,因为无论原始代码做什么都可能引发异常,很可能会报告您可以正常处理的 C 语言错误。

于 2013-02-27T09:07:26.033 回答
0

关于 try-catch 块。

C 中的错误处理与 Java 中的根本不同,这是 Java 语言的主要“卖点”之一,据称是对 C 等旧语言的改进。因此在这一点上两者之间没有直接的翻译(就像声明的那样)。

或许类似于一个以英语为母语但不懂其他语言的人,他不能简单地拿一本英语-乌尔都语词典,将他想说的直接逐字翻译成乌尔都语。很可能它会非常错误。他需要知道乌尔都语是如何工作的、语法、礼貌和正式程度、成语等等等等。

正如您在代码中看到的那样, Java会引发异常。

C通常通过从函数返回一个值来指示它是成功还是失败(通常是 0=>SUCCESS 和 !=0=>错误代码,但并非总是如此)。一些函数还将全局变量设置为某个值以指示问题。没有标准的方法可以做到这一点,因此您需要查找在 try 块中调用的每个函数的文档,检查 C 代码中每个函数的返回值,并正确处理*。

* = 在这种情况下适当可能意味着您需要考虑 C 应用程序的基本架构(并了解 Java 应用程序的架构)。根据复杂性和应用程序,它可能像在屏幕上写入错误消息并退出一样简单,也可能像将错误消息附加到例如日志文件并继续沿某些其他执行路径一样复杂。

于 2013-02-27T09:29:58.270 回答