小编chr*_*inx的帖子

在foldLeft中递增变量

我有像这样的Scala代码

var i = 1
for(e <- array) {
    acc += e * i
    i += 1
}
Run Code Online (Sandbox Code Playgroud)

我需要将数组中的第一个元素乘以1,将下一个元素乘以2,将下一个元素乘以3,然后将它们全部添加到累加器中.我觉得在Scala中有更好的方法,甚至可以折叠?

arrays scala increment accumulator

7
推荐指数
3
解决办法
996
查看次数

在没有Malloc的情况下分配一个结构数组?

我有一个以这种方式定义的结构.

typedef struct COUNTRY {
    char Code[3];
    char Country[30];
    int Population;
    float Expectancy;
    struct Country *Pointer;
} COUNTRY;
Run Code Online (Sandbox Code Playgroud)

我看到像这样分配的结构数组:

COUNTRY *countries = calloc(128, sizeof(COUNTRY));
Run Code Online (Sandbox Code Playgroud)

或者像这样:

COUNTRY *countries = malloc(128 * sizeof(COUNTRY));
Run Code Online (Sandbox Code Playgroud)

但这是做什么的:

COUNTRY countries[128] = {};
Run Code Online (Sandbox Code Playgroud)

因为在所有情况下我仍然可以写入每个条目的字段.第三种选择只是糟糕的形式吗?对我来说似乎更好,因为你可以 main()之外添加其余的变量声明.否则,您只能在main()或其他函数内部调用calloc()或malloc().

难道我做错了什么?

c arrays struct

5
推荐指数
1
解决办法
4283
查看次数

标签 统计

arrays ×2

accumulator ×1

c ×1

increment ×1

scala ×1

struct ×1