簡體   English   中英

C中的自由特定類型的內存分配

[英]Free specific type of memory allocation in C

我發現了一種在C中分配矩陣的有趣方法,允許使用[i][j]而無需初始化為double matrix_a[nrows][ncols] 分配是

double (*matrix_a)[ncols] = (double (*)[ncols])malloc(sizeof(double) * (nrows) * (ncols));

但我找不到如何正確地釋放這種類型的分配。 它會像free(matrix_a)一樣簡單嗎?

那是正確的。 您只可以傳遞給free了什么,從返回malloc和家人。 所以,既然你做了一個malloc ,你就可以free一個。

此外, 不需要轉換malloc的返回值

double (*matrix_a)[ncols] = malloc(sizeof(double) * (nrows) * (ncols));

暫無
暫無

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

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