如何用C代码编写?

时间:2011-04-18 06:33:41

标签: c perl

这里我有一些Perl代码:

sub clustering {
    ($brapa,$gee) = @_;
    $g=0;
    while ($g<$brapa) {
        if (($Y1XY[$g]-$Y2XY[$g])<=0) { push(@Y1new,$g+$gee);}
        else { push(@Y2new,$g+$gee);}
        $g++;
    }
    $sizeY1new = $#Y1new+1;
    $sizeY2new = $#Y2new+1;
}

问题是我尝试用C编写它:

int clustering (int brapa, int gee){
    int g;
    g=0;
    while (g<brapa) {
        if ((jarakY1-jarakY2)<=0) { /*stuck at here*/ }
        else { }
    }
    return 0;
}

如何从jarakY1和jarakY2调用数据/结果?然后,我如何在C中完美地编写它?请帮帮我。

2 个答案:

答案 0 :(得分:5)

Perl内置了C中未提供的数据类型和功能。推送是这种情况。根据您使用结果的方式,您必须自己编写自己的堆栈,列表或可变长度数组处理。

答案 1 :(得分:1)

我的第一个问题是:为什么要将Perl代码转换为C?

有许多C库提供类似Perl数组的东西,不要自己编写。一个是Gnome C Library(aka glib),它有several Array types that you can push to

另一种选择是使用C ++和标准模板库(又称STL)编写它。他们有a list type with push_front

您可以使用Perl arrays from C,但这不是最简单的事情。

最后,这里的a question about learning C有一些很好的答案。