我们通常据说的堆栈实际上是兩个东西,“堆”和“栈”
局部的自动变量,都是在栈上进行分配在进入子程序的时候自动分配,退出子程序的时候自动释放
在堆仩进行内存的申请与释放,需要使用malloc和free两者必须成对的出现,这一般有两个意思一个是free只能释放malloc申请的内存,二是调用顺序最好是后申请的先释放
回到你的问题,data[i]在释放的时候最好按申请时候的相反顺序进行。data所指向的数组必须是由malloc申请的如果是在栈上分配的,則不能由free释放
你对这个回答的评价是?
看样子你是在释放二维数组
其实二维数组中,data[i]的值 就是data[i][0]的地址你释放data[i]后整个数组都释放掉了,
释放data就是想释放data[0],data[1],等等,实际他们是不占空间的不需要释放。
你对这个回答的评价是
你对这个回答的评价是?