我試着重新分配一個尺寸從2X2到3X3的2D float
陣列。代碼拋出segfault
,同時嘗試realloc
內存weights[2]
。如何爲2D浮點數組重新分配內存?
num_vertices = 2;
float **weights = malloc(num_vertices*sizeof(float *)); // weight array matrix
for(i = 0; i < num_vertices; i++){
weights[i] = malloc(num_vertices*sizeof(float));
}
num_vertices = 3;
weights = realloc(weights, num_vertices*sizeof(float *)); // weight array matrix
for(i = 0; i < num_vertices; i++){
weights[i] = realloc(weights[i], num_vertices*sizeof(float));
}
當然,我可以再次free
二維數組和malloc
,但我一直在尋找一個更好的解決方案。有任何想法嗎?
對於realloc中的NULL指針+1。不知道。謝謝。 – zubergu