gpt4 book ai didi

C 数组 64 位递增

转载 作者:太空宇宙 更新时间:2023-11-04 06:06:16 24 4
gpt4 key购买 nike

我有:

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++ 一样简单,但是这也会更改指针,因此您会丢失原始分配的地址并且以后无法释放它(除非你保存它。)

关于C 数组 64 位递增,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9969860/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com