我有一个数组float64 arr[60]
用于存储来自DAQ的电压值。该阵列填充这样:一维数组传递为二维数组
10 SAMPLES_PER_CHANNEL, 6 CHANNELS, grouped by channel
transducer_0 transducer_1 ... transducer_6
[0, 1 ..., 9, 10, 11 ..., 19 ... 50, 51 ..., 59]
我想这个数据存储到指针的一维数组,并传递给其定义的功能是:bool func2(int samples, double* const* arr2)
[channel 0] [channel 1] [channel 5]
{val 0, val 1 ...val 9}, {val 10, val 11 ...val 19}, ...
的值被更新在〜5000Hz,因此我想知道最有效的手段可能是什么,以便我不复制任何数据。
由于arr中的数据存储在内存中,对于一维或二维数组,我能够只投射指针吗?
你不能使用矢量?更容易操作...只需编写一个结构,如'struct Data {const char * channel; double val};'并将其添加到向量中,并在需要时拔出所需的通道数据。 – macroland
您可以投射指针......但是,首先可能更容易声明2D数组('float64 arr [6] [10]'而不是'float64 arr [60]')。 – Dmitri
问题是回调函数填充一维数组,我无权修改该函数。 –