#include
#include
#include
#define m 3 /* row */
#define n 4 /* column */
int **creat2d(int mm,int nn);//声明一下子函数
void main()
{
int i,j;
int **s;
s=creat2d(m,n);
for(i=0;i{
for(j=0;j{
s[i][j]=i*2+j;//s当做二维数组使用
printf("s[%d][%d]=%d ",i,j,s[i][j]);
}
printf("\n");
}
for(i=0;i{
free(s[i]);
s[i]=NULL;//free之后要置为null,防止野指针
}
free(s);
s=NULL;//防止野指针
}
int **creat2d(int mm,int nn)
{
int **a;
int j;
a=(int**)malloc(sizeof(int*)*mm);//mm个行
for(j=0;ja[j]=(int*)malloc(sizeof(int*)*nn);//每行nn个数
return a;
}
#include
#include
#include
#define m 3 /* row */
#define n 4 /* column */
int **creat2d() {
int **a,i;
a = (int **)malloc(sizeof(int *) * n);
for(i = 0; i < n; i++)
a[i] = (int *)malloc(sizeof(int) * m);
return a;
}
int main() {
int i,j;
int **s;
s = creat2d();
for(i = 0; i < m; i++) {
for(j = 0; j < n; j++) {
s[i][j] = i * 2 + j;
printf("s[%d][%d] = %d ",i,j,s[i][j]);
}
printf("\n");
}
for(i = 0; i < n; i++) free(s[i]);
free(s);
return 0;
}