C:解释理论背后

时间:2012-10-24 14:03:24

标签: c r theory

我对C的经验很少,但是被要求将C程序转换为R.有一点困扰我:

我有一个带int的函数

int a

在函数中我有一个数组:

double b[3] = {

       1.8293,
       -0.592,
       2.3330,
}

以及后来我所拥有的功能:

c = b[a];

有人可以告诉我这条线路在做什么吗?什么被分配给c?它只是一个大小为b的数组,其中b的所有值都乘以?

感谢。

6 个答案:

答案 0 :(得分:3)

c分配了数组a的{​​{1}} th 值。

如果b[]等于1,那么a将等于c

答案 1 :(得分:2)

如果a包含0,则c = b[a]表示数组b []的第一个元素被赋值给a,而不更改数组b

答案 2 :(得分:2)

此处的变量a是数组的索引。例如,如果a = 0,则b [a]是第一个元素(在这种情况下为1.8293)。

通常,b [a]从数组中提取出特定元素。

答案 3 :(得分:2)

所以这里是你描述它的函数的模拟(我编写了你没有提到的部分)我添加了注释//来解释发生了什么:

void foo(int a)
{
    // define an array of 3 doubles
    //b[0] = 1.8293
    //b[1] = -0.592
    //b[2] = 2.333

    double b[3] = { 1.8293, -0.592, 2.3330 };

    double c;     // Note c is a double, because we're going to assign 
                  // one of the values from b

    //we're going to use a to access array b, that means a has to be 0, 1, or 2
    if(a < 3)
       c = b[a]; 

    //Now c is set to one of those three values in b 
    //(depending on what value a has)

    return;
}

答案 4 :(得分:1)

double数组b的第a个元素被分配给c(第一个元素的索引为0)。

答案 5 :(得分:1)

你需要在C学习中迈出一步。

b [a]表示您将从b数组

获取索引为a的元素的内容