这样不是用二级指针吗? 我已经定义了
可是不知道怎么初始化 赋值啊
上边的问题 就是 初始化 和赋值的方法不对头的!
我知道 数组的 行高 可是 每一行的宽度是不同的 8-(
所以就写程上面的样子 虽然没报错 不过 二级指针成了 一个 CPOINT对象了
可是不知道怎么初始化 赋值啊
上边的问题 就是 初始化 和赋值的方法不对头的!
我知道 数组的 行高 可是 每一行的宽度是不同的 8-(
所以就写程上面的样子 虽然没报错 不过 二级指针成了 一个 CPOINT对象了
解决方案 »
- DirectShow Editing Services的一个OutofMemory问题
- 请教:请教如何发布才简单。msFlexGrid之类很麻烦。谢谢。
- MFC中注册一个类和创建一个类的区别是什么啊?
- 怎样制作消息发生通知事件?初始化消息队列?
- 有一个VC做的静态库(有poh.h和poh.lib文件),现在想让它用于Delphi。怎么办?
- 如何动态调整对话框的大小?
- 关于VC++2002里面的对话框设计的问题
- 求一个能屏蔽alt+f4的dll的源程序代码
- 关于Win32通用控件的TreeView节点图片的问题
- 一个水平低下的程序员的感想:我不想做一辈子蓝领工人!!!!
- 请问,在我的应用程序中如何得到特定程序如ie被运行的消息?
- 500分求一个将BMP专为JPG的算法或一个图形压缩算法,要源代码
for (i; ; ;)
for (j; ; ;)
*(drawpoint+i) + j = new CPoint;
drawpoint[i]=new CPoint[n]
我把CPoint换成最简单的int类型试了一把,也还是不知道是什么东东。
专家的源程序在这里 我基本照抄 但就是不成功
我贴出来和上边我自己写的对比 大家看看我错在哪里*********************************
//动态分配二维数组空间
{
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;
******************************
我觉得我上边的和这个基本一样 但我的二级指针变成破烂了 555555
是要求 drawpoint[i] 中的值是初始化的还是在 calc 中赋值?你在 debug 时看到的 drawpoint 是 CPoint 对象,其实看到的是 drawpoint[0][0],
实际上你是可以对 drawpoint[i][j] 进行赋值的, 比如
drawpoint[0][0].x=1;
drawpoint[0][0].y=10;
.
.
.
drawpoint[2][0].x=3;
drawpoint[2][0].y=5;只要不越界就可以了啊。
仿照你的要求我写了下面一段代码,包括内存释放部分. CPoint **pPointArray; int iHeight=10;
int iWidthArray[10]={4,8,9,2,3,6,7,2,8,9};
int i, j; pPointArray = new CPoint* [iHeight];
for(i=0; i<iHeight; i++)
{
pPointArray[i]=new CPoint[iWidthArray[i]];
for(j=0; j<iWidthArray[i]; j++)
{
pPointArray[i][j].x=j;
pPointArray[i][j].y=2*j;
}
} // XXXXXXXXXXX
// .............. for(i=0; i<iHeight; i++)
{
if(pPointArray[i])
delete []pPointArray[i];
}
delete []pPointArray;