Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将Java静态二维双数组代码转换为C代码_Java_C - Fatal编程技术网

如何将Java静态二维双数组代码转换为C代码

如何将Java静态二维双数组代码转换为C代码,java,c,Java,C,我想把下面这行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 { }

我想把下面这行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语言中此类函数的可选块,前三个很简单:

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

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

try and catch在C中是不允许的

但是第一部分,看看这个:

static double sat_data[19][4];
static double sat_data_notused[19][4];
static double sbas_data[4][2];
关于试抓块。

错误处理在C语言中与Java语言中有着本质上的不同,这是Java语言的主要“卖点”之一,它被认为是对旧语言(如C语言)的改进。因此,在这一点上,两者之间没有直接的转换(如前所述)。

也许就像一个不懂其他语言的以英语为母语的人一样,他不能简单地拿一本英语乌尔都语词典,把他想说的直接逐字翻译成乌尔都语。很可能结果会大错特错。他需要知道乌尔都语的用法、语法、礼貌和正式程度、习语等。

Java抛出异常,正如您在代码中看到的那样。

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


*=在这种情况下,这可能意味着您需要仔细考虑C应用程序的基本体系结构(并理解Java应用程序的体系结构)。根据复杂性和应用程序的不同,它可能简单到将错误消息写入屏幕并退出,也可能复杂到将错误消息附加到日志文件并继续执行其他执行路径。

您应该获得某种C教程或参考手册。C没有异常,因此,
try…catch
不容易移植。另一方面,在C语言中,可能有其他方法来处理
try
块内所做的任何操作产生的错误。但它们是异常的任何替代方法,或者我可以使用其他方法,例如do while或任何其他替代方法。对于这一点我很困惑,那么我的第一个问题呢