我在程序中有一个大小为4096的数组,并且在程序的某个阶段之后,此数组不再需要。同时,我从应用程序中获得不同的测量数据集。我不是创建这么多的数组,而是重复使用相同的数组来节省应用程序的内存空间。我在上述阵列中存储了较小尺寸(例如:64)的不同测量数据。将特定大小的数组传递给函数C
实施例: 双bigArray的目的[4096]完成并且该阵列在程序存储其他测量值的后面部分再利用。
- 测得的数据存储在bigArray大小为64的1 [0至63]
- 测得的数据存储在bigArray大小64 2 64〜127]
- 测得的数据存储在bigArray [大小64 3 128至191]
现在我需要将值传递给其它功能,如下所示:
void main()
{
xyzFunction(bigArray[0:63], bigArray[64:127], bigArray[128:191]);
}
void xyzFunction(double *data1, double *data2, double *data3)
{
...calculations involving data1, data2, data3...
}
DATA1应该只指向冷杉t 64个数组元素,等等。我尝试过,但无法准确地将一部分数据从bigArray传递给函数。
任何帮助完成这一点是高度赞赏。 在此先感谢。
由于指针只指向* one *元素,所以您不能仅指向64个第一个元素,但您可以选择指向哪个元素:'(&bigArray [0],&bigArray [64],&bigArray [128])'。 – molbdnilo