一世轻尘 发表于 2021-1-4 11:08:12

二维动态数组

构建二维动态数组都有哪几种办法?(拒绝C99)

xieglt 发表于 2021-1-4 11:59:52

#include <vector>
#include <stdio.h>
#include <stdlib.h>

int main()
{
        int i;
        int m,n;
        int ** arr1;
        int ** arr2;
        //第一种,用c++ stl vector 容器
        std::vector<std::vector<int> > arr3;
       
        scanf("%d,%d",&m,&n);
       
        //第二种c/c++通用,用malloc函数分配内存
        arr1 = (int **)malloc(m * sizeof(int *));
        for(i=0 ; i<m ; i++)
        {
                arr1 = (int *)malloc(n*sizeof(int));
        }
       
        //第三种 用 c++ new 关键字
        arr2 = new int * ;
        for(i=0 ; i<m ; i++)
        {
                arr2 = new int;
        }
       
        //free 对应malloc
        for(i=0 ; i<m ; i++)
        {
                free(arr1);
        }
        free(arr1);
       
        //delete 对应 new
        for(i=0 ; i<m ; i++)
        {
                delete [] arr2;
        }
        delete [] arr2;
        return 0;
}

风过无痕1989 发表于 2021-1-4 12:04:52

VSCode 不支持 C99 吗?我还没试,原打算安装它是为了补偿 VS2015 不支持 C99 的,若真不支持,我也就要废掉它了

一世轻尘 发表于 2021-1-4 13:05:35

风过无痕1989 发表于 2021-1-4 12:04
VSCode 不支持 C99 吗?我还没试,原打算安装它是为了补偿 VS2015 不支持 C99 的,若真不支持,我也就要废 ...

不是,我只是想单纯用指针建立一个动态数组而已,我也没试{:10_250:}

一世轻尘 发表于 2021-1-4 20:55:26

风过无痕1989 发表于 2021-1-4 12:04
VSCode 不支持 C99 吗?我还没试,原打算安装它是为了补偿 VS2015 不支持 C99 的,若真不支持,我也就要废 ...

貌似DEVC++是支持C99的
页: [1]
查看完整版本: 二维动态数组