将一个添加到矢量

时间:2015-01-26 22:48:52

标签: vector increment

我正在尝试将c代码翻译成MATLAB,我遇到了一些我不理解的代码。具体来说,有一个变量定义为:

static float *lpfdata;

在函数调用期间将其分配给:

envelope_old(&fdata[0], lpfdata, winlength, samprate, BW);

接受输入为:

void envelope_old (float *fdata, float *lpfdata, int nsamps, int samprate,

浮动截止)

在envelope_old中,lpfdata被引用为向量,在循环中以“lpfdata[i] = ...”格式分配值,其中i是循环中的索引变量。

稍后,函数调用格式为:

downsample( lpfdata+1, dwndata, winlength, downby);

被调用。在这种情况下+1意味着什么?

1 个答案:

答案 0 :(得分:0)

当处理指针时,lpfdata[n]lpfdata+n是相同的 - 它们都将n * sizeof(*lpfdata)添加到原始指针并访问该地址的内存。

在这种情况下,lpfdata指向float类型的元素,因此sizeof(*lpfdata) == sizeof(float)