|
- void D2A采用test()
- {
- int rows=3;
- int cols=4;
- int i,j;
- int *p;
- char* pret;
- //静态声明二维数据
- /*
- int a[3][4]={{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][j]=i*4+j;
- }
- }
- //
- p=a[0]; //数组首地址
- //一般二维数据读取法
- pret="一般二维数据读取法\n";
- for(i=0;i<rows;i++)
- {
- for(j=0;j<cols;j++)
- {
- char* ret=new char[50];
- memset(ret,0,50);
- sprintf(ret,"%d,",a[i][j]);
- 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[1][1]); //12,12
- ShowMsg(pret);
- //输出结果
- //一般二维数据读取法
- //1,2,3,4
- //11,12,13,14
- //21,22,23,24
- */
- //动态声明二维数据
- int zlen=rows*cols;
- int **a=new int*[rows];
- for(i=0;i<rows;i++)
- {
- a[i]=new int[cols];
- }
- p=a[0]; //数组首地址
- //赋值
- for(i=0;i<zlen;i++)
- {
- *(p+i)=i;
- }
- //指针读取二维数据方法
- pret="指针读取二维数据方法\n";
- for(i=0;i<zlen;i++)
- {
- char* ret=new char[50];
- 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;
- //-----------------------------------
- }
复制代码 |
|