int (*p)[4];我用以上数组存放线段的起点和终点。
但每产生一跟线段就用一个数组p[i][4]将他记录下来。
我怎么给p[i][4]动态分配内存呢?
但每产生一跟线段就用一个数组p[i][4]将他记录下来。
我怎么给p[i][4]动态分配内存呢?
解决方案 »
- 什么叫“具名事件”
- vc 列表框水平滚动条
- 有谁做过网页虚拟打印,能否提供点思路,thanks
- 各位大侠,请问如何得到一个EXE中DLG上的按钮事件,就是捕获到一个成型的EXE的按钮事件?
- 如何让对话框中的控件随着对话框的拉伸而按照一定比例改变大小??
- 结构体中包含CString类型写入文件并读取
- 各位大虾,帮帮忙,一个关于死循环的问题??
- 条形码打印
- 用installshield for vc生成的安装程序在那里呢?
- :: 怎样设置 CDialogBar 对话框条 的颜色???(快回答快给分)
- 怎样把vbscript 的脚本语言转换为vc来实现?(主要对自动化对象的操作)
- 如何获得用户操作日志
int* p[2];
p[0]=new int[aa];
p[1]=new int[aa];
如果不知道,那么就用CArray,或者用一个比较苯的方法就是还用指针但定义aa比较大(通常情况下大于要画的线段数就可以了)。
每画一跟产生一跟,不知道有多少根?
上面那种应当不行的。
请问用CArray怎么实现呢?我没用过?刚学啊?谢谢了!!
谢谢你了!!!
p就是指向一个16个字节的内存的整型指针。
使用时就用
p[0]=10;//*p=10
p[1]=20;//*(p+1)=20
p[2]=30;//*(p+2)=30
p[3]=40;//*(p+3)=40
记得使用完后分用free []p来释放啊。
至CList链表类和CArray数据类还是慢慢来,学一学《数据结构》方面的书,会有更大的帮助。
int *p=new int [4][4];
通过索引方面引或是直接通过移动指针方式引用都一样。
建议完全理解指针后再学习其它,这样基础会牢靠一些。小小指针真伟大!
struct xy{
int x1;
int y1;
int x2;
int y2;
};//声明list
CTypedPtrList<CPtrList,xy*> list;
xy* p=new xy;
p->x1=1;
p->x2=2;
p->y1=3;
p->y2=4;
list.AddTail(p);
p=new xy;
p->x1=10;
p->x2=20;
p->y1=30;
p->y2=40;
list.AddTail(p);
POSITION pos=list.GetHeadPosition();
while(pos)
{
xy* p1=list.GetNext(pos);
//操作p1
}//释放list
pos=list.GetHeadPosition();
while(pos)
{
xy* p1=list.GetNext(pos);
delete p1;
}
list.RemoveAll();
我这样不行吗?
int *p[4]; //用他表示动态数组每增加一个数组就分配一个内存
*(p+i) = new int[4]
i++
难道面这样写不行吗?
谢谢了