簡體   English   中英

關於c編程的內存泄漏問題

[英]memory leak questions about c programming

這個功能會導致內存泄漏嗎?

功能是:

double list(double *list2){
  double *list3=(double *)malloc(sizeof(double));
  some operations...
  return *list3;
}

更新:

這有用嗎?

int main(){

 operations...
 double list4;
 list4=list(&list4);
 free(&list4);

 return 0;
}

是的,它確實:它返回存儲在已分配內存中的值的副本,但分配的內存本身被泄露(因為地址已“丟失”)。

是的,因為您正在分配該雙精度而不是釋放它或返回指針(或使其可全局訪問)。 函數返回后,指針會丟失,因此無法釋放。

它將生成分段錯誤,因為您釋放了在函數內分配的內存地址。

因此,一旦函數返回,它將失去分配。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM