这是我的代码,调用后如何释放new_double_size
。我是 C 初学者,所以感谢您的帮助。
size_t get_doubled_size(Vector *vtr, size_t new_size){
size_t *new_double_size = malloc(sizeof(size_t));
*new_double_size = vtr -> capacity;
while(new_size > *new_double_size){
*new_double_size *= 2;
}
return *new_double_size;
}
在另一个地方,我这样调用它:
int doubled_size = get_doubled_size(....);
最佳答案
显然,您需要在释放它之前获取它的值,例如:
size_t return_value = *new_double_size;
free(new_double_size);
return return_value;
但在这种情况下,您甚至不需要为新大小分配空间...只需直接使用 size_t
变量即可。
关于c - 返回内容后如何释放指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32643224/