我在程序中有一個大小爲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