2014-04-21 102 views
0

我動態使用以下代碼的2D陣列分配存儲器,添加額外的列矩陣

int **matrix = (int **) malloc(testVals[m].rows*sizeof(int)); 
for(int i = 0 ; i < testVals[m].rows ; i++) 
    matrix[i] = (int *) malloc(testVals[m].columns*sizeof(int)); 

但我需要添加額外的行和列按照要求。我可以添加額外的行這樣的,在那裏我轉換矩陣方陣

for(i = rows ; i < cols ; i++) 
mat[i] = (int *) malloc(cols*sizeof(int)); 

,但如何做到這一點的添加列?

+0

如何聲明'textVals'? – chouaib

+0

那些正在訪問的結構..其只是行數和列數 –

回答

0

您可以在每一行使用realloc,如果你需要添加一列: 也就是說,如果你需要添加N列,你由N.延長他們每個人的realloc的每一行

編輯: 你可以看看這個possible duplicate

+0

之前存儲的值將維持? –

+0

是的(閱讀我上面的realloc鏈接)。值被保留,只分配額外的內存。這是否回答你的問題 ? – quantdev

+0

它:)謝謝 –