gpt4 book ai didi

c - 使用指针在数组中导航

转载 作者:行者123 更新时间:2023-11-30 19:32:40 25 4
gpt4 key购买 nike

我正在用 C 创建自定义内存分配器,但在使用先前已在其中分配的指针移动“mem”数组时遇到问题。我需要将一个索引向左移动,以便我可以查看我尝试释放的索引之前的 block 是否为空。但移动指针并不像我想要的那样工作。那么如何在指针之前移动一个索引呢?

int main()
{
char mem[50];
char *pointer;
char *ptr_toFree;

pointer=(char *) &(mem[10]);
pointer = "hello";
int num = 10;
mem[9] = num;

ptr_toFree=(char*)(pointer-1);
printf("Value of mem[9] = %d\n", *ptr_toFree);

return 0;
}

最佳答案

如果您正在创建自定义内存分配器,则需要实现 malloc、realloc/free 等,如何跟踪内存分配取决于您(通常是在指针返回到内存分配器之前的某种固定 header )调用者),没有“标准”,所以你不能只从指针中减去 n 个字节并开始挖掘。

关于c - 使用指针在数组中导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46850277/

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