日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

c语言中二重指针如何赋值,关于二重指针释放的有关问题

發(fā)布時間:2023/12/4 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言中二重指针如何赋值,关于二重指针释放的有关问题 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

關(guān)于二重指針釋放的問題

使用?malloc?來申請內(nèi)存,申請的代碼部分如下:

float?*fp?=?(float*)malloc(sizeof(float)*?h?*?w);

float?**cost?=?(float**)malloc(sizeof(float*)*?h);

for?(int?i?=?0;?i?

cost[i]?=?&fp[i?*?w];

}

那我釋放的時候應(yīng)該如何釋放呢?

我現(xiàn)在采用的辦法是:

for?(int?i?=?0;?i?

free(cost[i]);

cost[i]?=?NULL;

}

free(fp);

顯然,這個代碼在循環(huán)的時候就報錯了……所以想請教一下大家正確的姿勢。

------解決思路----------------------

有幾次malloc就使用幾次free;而且二者的地址必須相同;

malloc分配的內(nèi)存,是有簿記的;只能在分配的地址上釋放;否則沒法找到大小信息(free用來釋放);

所以,不能夠“free(cost[i]);”;

而只能:free(fp);(或者等價的cost[0]);

------解決思路----------------------

free?(fp);

free?(cost);

或者

free?(*cost);

free?(cost);

也就是free的次數(shù)必須和malloc的次數(shù)相同。雖然你分配內(nèi)存時在for循環(huán)中的行為很奇怪(通常二重指針不是這么申請內(nèi)存的)。

------解決思路----------------------

僅供參考:#include?

#include?

#include?

int?**newarr2d(int?rows,int?cols)?{

int?**p,i;

p=(int?**)malloc(rows*sizeof(int?*));

if?(NULL==p)?exit(1);

for?(i=0;i

p[i]=(int?*)malloc(cols*sizeof(int));

if?(NULL==p[i])?exit(1);

}

return?p;

}

void?deletearr2d(int?**p,int?rows)?{

int?i;

for?(i=0;i

free(p[i]);

}

free(p);

}

int?main()?{

int?**arr2d,i,j,r,c;

r=4;

c=5;

//在堆中開辟一個4×5的二維int數(shù)組

arr2d=newarr2d(r,c);

for?(i=0;i

for?(j=0;j

arr2d[i][j]=i*c+j;

}

}

for?(i=0;i

for?(j=0;j

printf("?%2d",arr2d[i][j]);

}

printf("\n");

}

deletearr2d(arr2d,r);

r=6;

c=3;

//在堆中開辟一個6×3的二維int數(shù)組

arr2d=newarr2d(r,c);

for?(i=0;i

for?(j=0;j

arr2d[i][j]=i*c+j;

}

}

for?(i=0;i

for?(j=0;j

printf("?%2d",arr2d[i][j]);

}

printf("\n");

}

deletearr2d(arr2d,r);

return?0;

}

//??0??1??2??3??4

//??5??6??7??8??9

//?10?11?12?13?14

//?15?16?17?18?19

//??0??1??2

//??3??4??5

//??6??7??8

//??9?10?11

//?12?13?14

//?15?16?17

//

總結(jié)

以上是生活随笔為你收集整理的c语言中二重指针如何赋值,关于二重指针释放的有关问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。