free释放的一定是动态开辟的内存空间,数组不需要free,如果释放的是空指针其实无意义
如果p是NULL;那么等同于malloc
常见错误
p是临时变量,调用结束p的生命周期结束,开辟以后想释放都释放不了了
示例
示例改正
这只是一种柔型数组允许的语法形式int arr[0] / int arr[ ]
柔型数组替代方案
柔性数组释放内存次数更少代码不同意出错,malloc\reallc开辟越多碎片更多,且释放次数更多。
柔性数组内存连续访问效率更高的原因在于局部性原理