[英]C array 64 bit increment
我有:
uint64_t *list;
if((list = malloc(10 * sizeof(uint64_t))) == NULL){
errx(1, "malloc");
}
我需要填充此數組,增加其地址。
我的意思是:
(*list)++;
list = 1;
(*list)++;
list = 2;
(*list)++;
list = 3;
(*list)++;
list = 4;
我怎么做?
您可以像普通數組一樣使用分配的內存:
list[0] = 1;
list[1] = 2;
/* etc. */
編輯:您正在做的是增加“數組”中的第一個條目,該條目可能包含一個您不期望的值,然后重新分配指針,使其不再指向您分配的內存,依此類推。 另外,如果您真的想“增加分配的內存的地址”,它就像list++
一樣簡單,但是這也改變了指針,因此您松開了原始分配的地址,以后無法釋放它(除非您保存它)。
你可以使用循環
for(int i = 0; i < 10; i++) {
list[i] = i+1;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.