//动态创建二维数组
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h> 
int main()
{
	int i,j; 
	int n,m;  //以n行5列为例
	int (*p)[5];
	printf("请输入行数:");	
	scanf("%d",&n);	
	p=(int(*)[5])malloc(5*n*sizeof(int));
	for(i=0;i<n;i++)
	{
		for(j=0;j<5;j++)
			p[i][j]=i+1;
	}
	for(i=0;i<n;i++)
	{
		for(j=0;j<5;j++)
		{
			printf("%d,",p[i][j]);			
		}
		printf("\n");
	}
	return 0;
}
原文:http://blog.csdn.net/doudouwa1234/article/details/44983147