我想創建一個使用malloc的二維數組。 我的代碼似乎是正確的,但是當我嘗試設置值時,收到「分段錯誤」消息。分割錯誤,二維矩陣,malloc
#include <stdio.h>
#include <stdlib.h>
int main(){
int i, j;
int **m = (int **) malloc(5 * sizeof(int));
if(m == NULL){
printf("Error");
getchar();
exit(-1);
}
for(i = 0; i < 5; i++){
m[i] = (int *) malloc(5 * sizeof(int));
if(m[i] == NULL){
printf("Error");
getchar();
exit(-1);
}
}
for(i = 0; i < 5; i++){
for(j = 0; j < 5; j++){
printf("%d %d\n", i, j);
m[i][j] = 0;
}
}
for(i = 0; i < 5; i++){
for(j = 0; j < 5; j++){
printf("%d ", m[i][j]);
}
printf("\n");
}
}
謝謝。
時,這是C
也不要投爲什麼標記爲C++ –
我想你應該修改這一說法分配的指針數組:'INT ** M =(INT **)的malloc (5 * sizeof(int *));' – Ganesh
存在內存泄漏。 – SGG