[英]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.