释放用 cmallc 分配的无符号指针数组的最佳方法是什么?
uint8_t *buf;
buf = cs_calloc(ca->len + 13);
我确实喜欢这样,但我知道这不太正确,因为我收到了编译警告:
警告:传递 'free' 的参数 1 使指针从整数而不进行强制转换
for (i = 0; i < ca->len + 13; i++)
{
free(buf[i]);
buf[i] = NULL;
}
free(buf);
这是 cs_calloc 代码:
void *cs_calloc(size_t size){
return (calloc (1,size));
}
我的问题是 1. 我释放的方式,buf,我的意思是首先释放循环中的每个数组元素(free (buf[i]) 是否正确?我需要释放数组的元素,并将数组释放为多于
- 为什么我会收到编译警告,如果它是错误的,有人可以纠正我释放分配内存的方式(请给我写代码应该如何纠正?
提前致谢