大家好,我的代码中有一些问题:
这是一个矩阵分配函数:
matrix_type** matrix_allocation(MATRIX* matrix, int* rows_size, int* cols_size)
//this function allocates dynamically a matrix and verify its allocation
{
int i;
matrix->n_rows=0;
matrix->n_cols=0;
matrix->pp_matrix=(matrix_type**)calloc(*rows_size,sizeof(matrix_type*));
i=0;
while(i<*rows_size)
{
matrix->pp_matrix[i]=calloc(*cols_size,sizeof(matrix_type));
i++;
}
matrix->n_rows=*rows_size;
matrix->n_cols=*cols_size;
return matrix->pp_matrix;
}
这是我的释放功能:
void matrix_deallocation(MATRIX* matrix)
//this function deallocates a matrix
{
int i;
i=0;
while(i<matrix->n_cols)
{
free(matrix->pp_matrix[i]);
i++;
}
free(matrix->pp_matrix);
}
MATRIX
结构
typedef int matrix_type;
typedef struct{
int n_rows;
int n_cols;
matrix_type** pp_matrix;
}MATRIX;
我如何在main中调用deallocation函数:
matrix_deallocation(&table);
这个函数只释放半个矩阵,为什么?
答案 0 :(得分:2)
看来你的意思是以下
imageView