gpt4 book ai didi

c - 指针最佳实践

转载 作者:太空狗 更新时间:2023-10-29 15:22:55 24 4
gpt4 key购买 nike

我刚开始学习 C 并且(当然)还在努力学习指针 :)

给定这个片段:

int *storage, *storage_p;
storage = malloc(sizeof(int[GROW_BY]));
storage_p = storage;
// do something with storage, using storage_p
free(storage);
storage = NULL;

是否真的有必要声明两个变量来处理 malloc() 的数据?按照我的方式创建 storagestorage_p 是好的做法吗?如果不是,“方式”是什么?

最佳答案

您将需要一个指针来保存 malloc() 返回的值,以便稍后释放它。

如果您计划使用 storage_p 来改变它的值,那么您将需要两个指针。

但是,我通常保留纯初始指针,并在需要时临时创建新指针。

int *storage = (int*) malloc(sizeof(int[GROW_BY])); 
// :
int* ptr = storage;
while (*ptr)
{
// :
++ptr;
}

关于c - 指针最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3312408/

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