L100??? 发表于 2020-10-21 17:45:40

动态分配空间问题,求大神解答



我希望是运行之后,对M, N, P进行scanf函数赋值, 之后M, N, P有值了,进而根据M, N, P的值进行分配空间
但是还是报错了。。。

既然是动态运行,不可以运行之后再赋值给M, N, P吗?进而后面开辟空间。
要是已经固定了M, N, P的值,算哪门子的动态分配空间。{:10_266:}

我是不是哪里出错了,求大神提出解决办法{:10_257:}

mrcrisis 发表于 2020-10-21 18:07:26

理论上数组长度不能为变量
可以看一下关键字 malloc free new delete
c++的话也可以用vector

xieglt 发表于 2020-10-21 18:56:51


#include <stdio.H>

int main()
{
        int i = 0;
        int j = 0;
        int m,n;
        //定义动态二维数组
        double ** matrix;

        //输入矩阵大小 M * N
        printf("Input the size of matrix M * N:\n");
        //scanf 格式是%d,%d,因此输入时请用逗号隔开,比如说 5,10
        scanf("%d,%d",&m,&n);

        //二维数组动态分配内存的方法
        //先 new double * , 分配m个 double *
        matrix = new double *;
        //再为每一个 double * 分配 n 个 double
        for(i = 0 ; i < m ; i ++)
        {
                matrix = new double;
        }
       
        //输入数据
        printf("Input %d * %d number:\n",m,n);

        for(i = 0 ; i < m ; i ++)
        {
                for(j = 0 ; j < n ; j ++)
                {
                        scanf("%lf",&matrix);
                }
        }
       
        //输出数据
        for(i = 0 ; i < m ; i++)
        {
                for(j = 0 ; j < n ; j++)
                {
                        printf("%lf,",matrix);
                }
                printf("\n");
        }

        //释放每一个double *
        for(i = 0 ; i < m ; i++)
        {
                delete [] matrix;
        }
        //释放double **
        delete [] matrix;

        return 0;
}

mrcrisis 发表于 2020-10-21 19:30:41

https://imgchr.com/i/BPeH8e https://imgchr.com/i/BPeqvd https://imgchr.com/i/BPebgH

mrcrisis 发表于 2020-10-21 19:31:19

本帖最后由 mrcrisis 于 2020-10-21 19:33 编辑

https://s1.ax1x.com/2020/10/21/BPeH8e.pnghttps://s1.ax1x.com/2020/10/21/BPeqvd.pnghttps://s1.ax1x.com/2020/10/21/BPebgH.png

资治通鉴 发表于 2020-10-21 20:52:34

楼上说的对

L100??? 发表于 2020-10-21 23:11:49

mrcrisis 发表于 2020-10-21 18:07
理论上数组长度不能为变量
可以看一下关键字 malloc free new delete
c++的话也可以用vector

我用的就是new运算符,c++{:10_266:}

L100??? 发表于 2020-10-21 23:53:27

mrcrisis 发表于 2020-10-21 19:31


第一次问问题,这个只能一个最佳吗?{:10_285:}不好意思哈

L100??? 发表于 2020-10-22 10:28:49

谢谢各位鱼油的帮助!
页: [1]
查看完整版本: 动态分配空间问题,求大神解答