c - 释放后重新分配给指针变量

标签 c pointers free dynamic-memory-allocation

<分区>

这样做合法吗?你能在它被释放后将 ptr 分配给它吗?

int * ptr = (int*) malloc(sizeof(int));
free(ptr);
ptr = (int *) malloc(sizeof(int));

最佳答案

您在释放指针后并没有重新分配它,您只是在重用 ptr 变量。这很好。

关于c - 释放后重新分配给指针变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45810174/

相关文章:

c++ - 这段代码中关于 n 在 pc[i] 中的表示是怎么回事

c - free() 如何影响堆上的内存地址?

c - 指针和字符串操作

c - 段错误: 11 for my dynamic linked list

c - C 中带有 unsigned char 的 %x 格式说明符

C - 释放数组内的指针

c - 基本的 C 指针分配/释放

c - 如何通过将原始数组传递给c中的函数来修改它

c++ - 在 C++ 中处理指针和 vector

c++ - 每当我运行 C++ 中的乘法矩阵代码时,它总是崩溃。不知道为什么