C语言可以在函数外分配堆内存吗?

C语言可以在函数外分配堆内存吗?
图像处理,在img_process函数外分配堆内存对读取到的图片像素进行存储,内存地址作为指针传入函数,图片处理完成后,再在img_process函数外进行内存释放。

img


这样做发现了2个问题,第一个是当数据读取到一半,手动暂停读取,然后再恢复读取,数据会读取失败。第二个是python和c进行混编的时候,内存不能释放。针对这2个问题,有什么比较好的解决办法吗?

你试下这样行不,在函数内部分配堆内存的,函数返回分配内存的指针,函数外用一个指针接受这个地址,用完后释放就行了。