admin 发表于 2024-3-16 09:48:36

C/C++ 二维数据 静态动态声明和初始化及访问方法实例

void D2A采用test()
{       
        int rows=3;
        int cols=4;
        int i,j;
        int *p;
        char* pret;
        //静态声明二维数据
        /*
    int a={{1,2,3,4},{11,12,13,14},{21,22,23,24}};
    //赋值
        for(i=0;i<rows;i++)
        {
                for(j=0;j<cols;j++)
                {
                        a=i*4+j;                  
                }
        }
                //
        p=a;//数组首地址
        //一般二维数据读取法
        pret="一般二维数据读取法\n";       
        for(i=0;i<rows;i++)
        {
         for(j=0;j<cols;j++)
               {
                       char* ret=new char;
                       memset(ret,0,50);
             sprintf(ret,"%d,",a);
                       if(strlen(pret)<=0)
                       {
               pret=ret;
                       }
                       else
                       {
                             pret=a2u(pret,ret);
                       }
               }
               pret=a2u(pret,"\n");
        }
        //*(p+5)=pos(0,1,2,3,4,5)=12
        //sprintf(ret,"test 2 array=%d,%d",*(p+5),a);        //12,12
        ShowMsg(pret);        
        //输出结果
        //一般二维数据读取法
        //1,2,3,4
        //11,12,13,14
        //21,22,23,24
        */
        //动态声明二维数据       
        int zlen=rows*cols;
        int **a=new int*;
        for(i=0;i<rows;i++)
        {
                a=new int;
        }
        p=a;//数组首地址
        //赋值
        for(i=0;i<zlen;i++)
        {
                *(p+i)=i;
        }       
        //指针读取二维数据方法
        pret="指针读取二维数据方法\n";
        for(i=0;i<zlen;i++)
        {
                char* ret=new char;
                memset(ret,0,50);
      sprintf(ret,"%d,",*(p+i));
                if(strlen(pret)<=0)
                {
            pret=ret;
                }
                else
                {
                  pret=a2u(pret,ret);
                }         
        }
        ShowMsg(pret);
        //输出结果
        //指针读取二维数据方法
        //1,2,3,4,11,12,13,14,21,22,23,24
        return;
        //-----------------------------------
}
页: [1]
查看完整版本: C/C++ 二维数据 静态动态声明和初始化及访问方法实例