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]