可以。给你个实例(地址给在参考资料中,我写的):
其中的p和p[i]就是开辟动态二维数组方式演示。不过那里是字符串,这里是double实数,但实质是一样的。注意程序中的方法。
一个程序片段如下:
......
int main()
{
int m,n,i;
int** array;
printf("Input m and n:");
scanf("%d%d",&m,&n);
array = (int** )malloc(m*sizeof(int*)); /*创建m个指针的指针数组并为每个指针开辟空间存储指针值*/
for(i=0;i<m;i++)
{
array[i]=(int* )malloc(n*sizeof(int));/*开辟n个int型数据空间并用一个指针array[i]指向该空间的首地址,这样就创建了一个m行n列的二维数组空间*/
}
......
for(i=0;i<m;i++)
free(array[i]);/*释放每个一级指针*/
free(array)/*释放最开始申请的二级指针*/
return 0;
}
参考资料:http://zhidao.baidu.com/question/104265234.html