我期待做到以下幾點:(C)結構的數組和數據移動到它
結構DEF:
struct mystruct {
char cArr[500];
}
全球:
struct mystruct **ptr;
int count = 0;
主
:
ptr = malloc(20*sizeof(struct test *));
for (int i = 0; i != 20 ; i++) {
ptr[i] = malloc(sizeof(struct test));
}
在某些被稱爲20次的函數中:
char burp[500];
//put whatever I want in burp;
ptr[count]->cArr = burp //is this right? Or do I have to memcpy to it, and if so how?
count++;
所以在最後我會按順序用我想要的字符填充mystruct數組。我試圖用char **來做這件事,但沒有運氣;我現在將它包裝在一個結構體中,因爲它可以幫助我可視化發生的事情。
所以我想要一個char [500]全局數組,每次調用一個函數時,都會將該char [500]放入索引(即傳入函數或全局函數)。
任何意見是讚賞; Ofc我將需要在結束時釋放數組的每個索引。
謝謝!
編輯:
所以會是這樣的:那麼
memcpy(ptr[count]->cArr, burp, 500);
工作?
您應該執行'memcpy'。 – Rohan
當'mystruct'沒有成員'field1'時,你不能'ptr [0] - > field1 = value;'請顯示真實的代碼! –
對不起,我忘了擦除那一行;該代碼現在是正確的 –