說我有以下設置:釋放返回的變量用C
struct matrix
{
int row, col;
};
struct matrix* createMatrix(int row, int col)
{
struct matrix* t_matrix;
t_matrix = (struct matrix*) malloc(sizeof(struct matrix));
t_matrix->row = row;
t_matrix->col = col;
return t_matrix;
}
,然後我想有一個暫時返回一個結構矩陣*的功能,但不改變原始矩陣(非常重要):
struct matrix* transpose(struct matrix* mat)
{
return createMatrix(mat->col, mat->row);
}
我該如何釋放這個轉置矩陣,但仍然暫時使用它的值?
編輯:刪除createMatrix
解決了不必要的參數:由於一些建議,我最終作出一個指向我的所有矩陣和釋放他們在結束程序。
注意,你'createMatrix()'不採取'結構矩陣*' – Jack 2014-10-01 02:42:54
你看到使用的'transpose'的返回值'free'什麼問題? – 2014-10-01 02:44:10
我的實際createMatrix功能是與此不同,所以我有點糊塗了:P我固定它雖然。 – m1cky22 2014-10-01 02:51:24