c語言如何定義一個未知二維數組?
1、使用malloc函數,先分配第一維的大小,然后再循環分配每一維的大小。
2、例程,分配3行4列二維數組:
#include <stdio.h>
#include <malloc.h>
int main()
{
int **a;
int i, j;
a = (int**)malloc(sizeof(int*)*3);//為二維數組分配3行
for (i = 0; i < 3; ++i){//為每列分配4個大小空間
a[i] = (int*)malloc(sizeof(int)*4);
}
//初始化
for (i = 0; i < 3; ++i){
for (j = 0; j < 4; ++j){
a[i][j] = i+j;
}
}
//輸出測試
for (i = 0; i < 3; ++i){
for (j = 0; j < 4; ++j){
printf ("%d ", a[i][j]);
}
printf ("\n");
}
//釋放動態開辟的空間
for (i = 0; i < 3; ++i){
free(a[i]);
}