我有原型的功能:
void procedureForEachWave(struct barge *Barge, struct settings *Settings, struct wave *Wave)
在另一项职能中,我还有一个称为“<条形状><>>>>>><>代码/代码”的结构,我利用这一结构将信息发送到几个星上运行的职能中,而这一结构的一个要素是<条码>代码>清单,因此该代码的简短切入:
struct threadData data;
data.waveList = (struct wave*) malloc(sizeof(struct wave)*nrOfWaves);
我在另一个职能中利用这一职能,我基本首先向结构数据发出一个点,然后在这项职能中,“procedure forEachWav”职能被呼吁发挥类似的作用:
procedureForEachWave(data->Barge, data->Settings, &data->waveList[i]);
This works fine. However, I also want to do an analysis where I only use one wave, meaning that the list only contains one element, and I therefore don t need to call the first function. I only want to do this:
procedureForEachWave(Barge, Settings, &data.waveList[0]);
但这并不可行。 为什么? 以及我如何工作? 为了澄清,现在数据被宣布为变数,而不是点数,而Barge和环境已经是点数。 波列主义者也这样说:
data.waveList = (struct wave*) malloc(sizeof(struct wave));