小编Hop*_*r06的帖子

如何在 kdb 中一次添加多个列?

不知何故,我只能找到显示如何添加一列的示例。

所以我编写了这段代码,它可以工作,但我知道有一种更好的方法可以做到这一点:表 t 已经存在,其中列填充了数据,我需要添加最初为空的新列。

 t: update column1:` from t;
 t: update column2:` from t;
 t: update column3:` from t;
 t: update column4:` from t;
Run Code Online (Sandbox Code Playgroud)

我尝试将其设为一个函数:

 colNames:`column1`column2`column3`column4;
 t:{update x:` from t}each colNamesList;
Run Code Online (Sandbox Code Playgroud)

但这只添加了一列并将其称为x。

任何改进此代码的建议将不胜感激。我必须添加的不仅仅是 4 列,因此我的代码很长。谢谢你!

kdb q-lang

2
推荐指数
1
解决办法
1614
查看次数

c - 如何为c中的结构数组malloc

我一直在寻找一种方法来自己做这件事,但我还没有找到与我的情况完全匹配的情况,而且我的经验不足,无法从类似情况中得出该怎么做。所以我希望在我的具体情况下得到一些帮助。

我有一个结构体,我需要创建 3 个它们的数组。但是当我使用 [] 分配内存时,内存不足。所以我想我需要使用malloc;但我不知道该怎么做。这是我的代码:

struct key {

char symbol[10];
int quantity;
char GroupID[10];

};  
Run Code Online (Sandbox Code Playgroud)

然后在主要我有:

struct key PrevKeys= malloc(345000*sizeof(struct key));
struct key ActivityKeys= malloc(345000*sizeof(struct key));
struct key CurKeys= malloc(345000*sizeof(struct key));
Run Code Online (Sandbox Code Playgroud)

但是我不断从编译器中收到“无效的初始值设定项”错误。

早些时候我试过这个,它编译得很好,但是当我运行它时给了我一个段错误(我假设是因为堆栈中没有足够的内存):

 struct key PrevKeys[345000];
 struct key ActivityKeys[345000];
 struct key Curkeys[345000];
Run Code Online (Sandbox Code Playgroud)

关于如何分配这 3 个结构数组的任何想法都将非常非常感谢。

c arrays malloc struct

-1
推荐指数
1
解决办法
6232
查看次数

标签 统计

arrays ×1

c ×1

kdb ×1

malloc ×1

q-lang ×1

struct ×1