sos!!!!!!这两个二级指针应用的例子有区别吗?我错哪里了?!!!!!!
正确的例子
*********************************
//动态分配二维数组空间
{
m_iHight=10;//二维数组的高度
m_iWidth=10;//二维数组的宽度
//动态分配一个二维数组m_ppTable内存空间
//其类型为int
//m_ppTable指向该数组
int **m_ppTable; //bob:这里就是我的定义
m_ppTable=new int *[m_iHight];//bob:这里对应drawpoint=new CPoint*[height];
//动态分配m_iHight个类型为int *的内存空间
//分配的是行地址空间
for(int i=0;i<m_iHight;i++) //bob:这里分配行宽
m_ppTable[i]= new int[m_iWidth];
//动态分配m_iWidth个类型为int的内存空间
//分配的是某行的数值空间
}
//由此分配的二维数组空间并非是连续的
//可以使用m_ppTable[row][col]来给该二维数组赋值
//其中 0<=row<m_iHight;0<=col<m_iWidth;
******************************
我自己的破程序:
************************
class myclass:public CWnd
{
.....
CPoint **drawpoint;
.....
}
void myClass::showapic(para *theparas) //para is a struct
{
drawpoint=new CPoint *[height];
for(int i=0;i<height;i++);
{
para* thepara=(para*)(theparas+i) ;
if(thepara->tempart==1 ¦¦ thepara->tempart==3)
{
int n=thepara->temQ;
for(int arrarynum=0;arrarynum<n;arrarynum++)
drawpoint[i]=new CPoint[n];
calc(thepara, drawpoint[i],midp);
MessageBox("hello",NULL,MB_OK); //这里断点 看到 drawpoint 不是数组
// 是一个没有赋值的CPOINT??为什么这样
}
else
{
for(int arrarynum=0;arrarynum<3;arrarynum++)
drawpoint[i]=new CPoint[3];
calc(thepara,drawpoint[i],midp);
}
}
// draw(darwpoint,para[tabn],tabn);
}
我的意思是想建立一个这样的动态数组动态
point[0][0]******* point[0][x]
**************
*****************
**********************
************
piont[n][0]***********************ponit[n][y]