怎么用malloc申请内存来输出数组??
我是C初学者,有这样一个问题:用malloc申请内存来输出二维与三维的数组,数组已知。以下是我做的,输出的结果不对,不知错在那??请高手指点!!#include<allo...
我是C初学者,有这样一个问题:用malloc申请内存来输出二维与三维的数组,数组已知。
以下是我做的,输出的结果不对,不知错在那??请高手指点!!
#include <alloc.h>
void main()
{
int a[2][3]={1,2,3,4,5,6};
int m,n,i,j;
int **p;
m=2;
n=3;
p[i]=(int **)malloc(m*sizeof(int));
for( i=0;i<m;i++)
p[j]=(int *)malloc(n*sizeof(int));
for(j=0;j<n;j++)
printf("%d ",**p);
free(p[i]);
free(p[j]);
free(p);
} 展开
以下是我做的,输出的结果不对,不知错在那??请高手指点!!
#include <alloc.h>
void main()
{
int a[2][3]={1,2,3,4,5,6};
int m,n,i,j;
int **p;
m=2;
n=3;
p[i]=(int **)malloc(m*sizeof(int));
for( i=0;i<m;i++)
p[j]=(int *)malloc(n*sizeof(int));
for(j=0;j<n;j++)
printf("%d ",**p);
free(p[i]);
free(p[j]);
free(p);
} 展开
展开全部
#include <alloc.h> //<malloc.h>
void main()
{
int a[2][3]={1,2,3,4,5,6};
int m,n,i,j;
int **p;
m=2;
n=3;
p[i]=(int **)malloc(m*sizeof(int)); // i 没有初始化!而且p[i] = (int *)malloc……
for( i=0;i<m;i++)
p[j]=(int *)malloc(n*sizeof(int));
for(j=0;j<n;j++)
printf("%d ",**p); //这样永远都只输出第一个数!改为:printf("%d",p[i][j]);而且还得在前边加一个for语句:for(i=0; i<m; i++)
free(p[i]);
free(p[j]);
free(p); //有错!因为p并没有申请空间!!!
}
void main()
{
int a[2][3]={1,2,3,4,5,6};
int m,n,i,j;
int **p;
m=2;
n=3;
p[i]=(int **)malloc(m*sizeof(int)); // i 没有初始化!而且p[i] = (int *)malloc……
for( i=0;i<m;i++)
p[j]=(int *)malloc(n*sizeof(int));
for(j=0;j<n;j++)
printf("%d ",**p); //这样永远都只输出第一个数!改为:printf("%d",p[i][j]);而且还得在前边加一个for语句:for(i=0; i<m; i++)
free(p[i]);
free(p[j]);
free(p); //有错!因为p并没有申请空间!!!
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询