如何分配带结构的矩阵?

时间:2016-04-29 14:12:29

标签: c struct

我必须编写一个函数来帮助我使用struct分配矩阵。我今天开始研究结构。 所以我用这个结构和相对主要编写了这个代码来证明函数:

$('#elementId').animate({
                left: '50%',
            }, 500 );

我知道我犯了一些错误。有人可以帮我解释我是怎么做到的?

2 个答案:

答案 0 :(得分:1)

int rowsint cols未初始化为Mat_alloc。你需要给出那些数值!

int main(int argc, char **argv) 
{
      int rows = 10;
      int cols = 10;
      Mat *m1 = Mat_alloc(rows, cols);

      //do something
      //call your Mat_free(m1) function

     return 0;
}

确保在此函数中返回指向Mat结构的指针:

Mat* Mat_alloc(int rows, int cols)
{
    Mat *m1 = malloc(sizeof(Mat));
    m1->rows = rows;
    m1->cols = cols;
    float** matrice= (float**)malloc((m1->rows)*sizeof(float*));
    for(int i = 0; i < m1->rows; i++)
    {
        matrice[i] = (float*)malloc((m1->cols)*sizeof(float));
    }
    m1->row_ptrs = matrice;
    return m1;
}

另外,请确保为Mat_free中分配的内存free创建Mat_alloc函数。

答案 1 :(得分:0)

chrisd1100给出了一个很好的答案,但只是有点迂腐这是我的:

hasSize