Programming 版 (精华区)
发信人: Scorpion (但教心似金钿坚), 信区: Programming
标 题: [合集]请问在C(C++)中怎样动态分配二维数组?
发信站: 哈工大紫丁香 (2002年03月28日09:13:45 星期四), 站内信件
发信人: melancholy (飞翔,飞翔,永不下降), 信区: Programming
标 题: 请问在C(C++)中怎样动态分配二维数组?
发信站: 哈工大紫丁香 (2001年02月20日14:30:41 星期二), 站内信件
3x!
--
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.112.3.163]
发信人: lofe (〖点一盏心灯·给自己〗), 信区: Programming
标 题: Re: 请问在C(C++)中怎样动态分配二维数组?
发信站: 哈工大紫丁香 (2001年02月20日15:01:09 星期二), 站内信件
动态申请一块内存区域,充分利用指针的灵活,按照自己期望的方式
访问。
在C中,利用指针实现"二维数组"的访问;在C++中,也可以重载操作符 [] ,
定义自己的数组及其操作规则。
【 在 melancholy (飞翔,飞翔,永不下降) 的大作中提到: 】
: 3x!
--
═══════════════════﹃
过 而 结 要 情 有 结 而 过 要 情 有
程 不 果 的 , 些 果 不 程 的 , 些
。 是 , 是 重 事 ; 是 , 是 重 事
﹄═══════════════════
生活是件激动人心的事。人生不如意十之八九,要懂得感激生活。
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: DnC.hit.edu.cn]
发信人: ani (紫雾萦萦.晨曦点点), 信区: Programming
标 题: Re: 请问在C(C++)中怎样动态分配二维数组?
发信站: 哈工大紫丁香 (2001年02月20日15:05:17 星期二), 站内信件
写一段过来我看
因为我要用
可是你说的我不懂呀
呵呵
师兄^_^
【 在 lofe (〖点一盏心灯·给自己〗) 的大作中提到: 】
: 动态申请一块内存区域,充分利用指针的灵活,按照自己期望的方式
: 访问。
: 在C中,利用指针实现"二维数组"的访问;在C++中,也可以重载操作符 [] ,
: 定义自己的数组及其操作规则。
: 【 在 melancholy (飞翔,飞翔,永不下降) 的大作中提到: 】
: : 3x!
--
疯狂而执著地追求平淡而坦然地面对
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.112.3.163]
发信人: lofe (〖点一盏心灯·给自己〗), 信区: Programming
标 题: Re: 请问在C(C++)中怎样动态分配二维数组?
发信站: 哈工大紫丁香 (2001年02月20日15:22:23 星期二), 站内信件
int* pArray;
int dim1,dim2;
int i,j;
#define pArray(i,j) ( *( (pArray)+(i)*(dim1)*sizeof(int)+(j) ) )
pArray = malloc(sizeof(int)*dim1*dim2);
if(pArray==NULL){
...
}
pArray(i,j) = ... // *( pArray + i*dim1*sizeof(int)+j )
【 在 ani (紫雾萦萦.晨曦点点) 的大作中提到: 】
: 快给我解决问题
: 那不是我的马甲
: 我师兄的
: kick
: 不许灌水
: 解决问题
: 【 在 Sun (大灯泡) 的大作中提到: 】
: : 不小心暴露马夹了
--
═══════════════════﹃
过 而 结 要 情 有 结 而 过 要 情 有
程 不 果 的 , 些 果 不 程 的 , 些
。 是 , 是 重 事 ; 是 , 是 重 事
﹄═══════════════════
生活是件激动人心的事。人生不如意十之八九,要懂得感激生活。
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: DnC.hit.edu.cn]
※ 修改:·lofe 於 02月20日17:07:23 修改本文·[FROM: DnC.hit.edu.cn]
发信人: grub (BluePoint), 信区: Programming
标 题: Re: 请问在C(C++)中怎样动态分配二维数组?
发信站: 哈工大紫丁香 (2001年02月20日15:28:45 星期二), 站内信件
【 在 lofe (〖点一盏心灯·给自己〗) 的大作中提到: 】
: int* pArray;
: int dim1,dim2;
: int i,j;
: #define pArray(i,j) ( *( (i)*(dim1)*sizeof(int)+(j) ) )
: pArray = malloc(sizeof(int)*dim1*dim2);
~~~~~~~~~~~~~~~~~~~~new int[dim1][dim2]
行不行,然后用完delete
: if(pArray==NULL){
: ...
: }
--
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: as.hit.edu.cn]
发信人: ani (紫雾萦萦.晨曦点点), 信区: Programming
标 题: Re: 请问在C(C++)中怎样动态分配二维数组?
发信站: 哈工大紫丁香 (2001年02月20日15:46:01 星期二), 站内信件
数组长度不固定
不知道可不可以动态填加
只能删掉替换么?
第二维可以循环申请
这个想法简单一点
不知道对不对
【 在 Sun (大灯泡) 的大作中提到: 】
: 【 在 ani (紫雾萦萦.晨曦点点) 的大作中提到: 】
: : 快给我解决问题
: : 那不是我的马甲
: : 我师兄的
: ^^^^不帮!
: : kick
: : 不许灌水
: : 解决问题
--
疯狂而执著地追求平淡而坦然地面对
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.112.3.163]
发信人: Sun (大灯泡), 信区: Programming
标 题: Re: 请问在C(C++)中怎样动态分配二维数组?
发信站: 哈工大紫丁香 (2001年02月20日15:50:06 星期二), 站内信件
用的是MFC吗?估计不是。MFC可以用CArray
自己做一个数组类,重载[],先预申请空间,适当的时候再重新申请,扩大或减少空间,
就动态了。
说起来很简单,实现起来也是有些工作要做的。
不行就到网上找代码吧,肯定能找到
【 在 ani (紫雾萦萦.晨曦点点) 的大作中提到: 】
: 数组长度不固定
: 不知道可不可以动态填加
: 只能删掉替换么?
: 第二维可以循环申请
: 这个想法简单一点
: 不知道对不对
: 【 在 Sun (大灯泡) 的大作中提到: 】
--
如果程序员懂得了软件工程,
那么他就不再是牛,
更不是妓女了。
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: sunner.hit.edu.cn]
发信人: youkou (鬼灵精), 信区: Programming
标 题: Re: 请问在C(C++)中怎样动态分配二维数组?
发信站: 哈工大紫丁香 (2001年02月20日16:56:26 星期二), 站内信件
不可以
【 在 grub (BluePoint) 的大作中提到: 】
: 【 在 lofe (〖点一盏心灯·给自己〗) 的大作中提到: 】
: : int* pArray;
: : int dim1,dim2;
: : int i,j;
: : #define pArray(i,j) ( *( (i)*(dim1)*sizeof(int)+(j) ) )
: : pArray = malloc(sizeof(int)*dim1*dim2);
: ~~~~~~~~~~~~~~~~~~~~new int[dim1][dim2]
: 行不行,然后用完delete
: : if(pArray==NULL){
--
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.170.148]
发信人: grub (BluePoint), 信区: Programming
标 题: Re: 请问在C(C++)中怎样动态分配二维数组?
发信站: 哈工大紫丁香 (2001年02月20日17:39:27 星期二), 站内信件
为什么
【 在 youkou (鬼灵精) 的大作中提到: 】
: 不可以
: 【 在 grub (BluePoint) 的大作中提到: 】
: : ~~~~~~~~~~~~~~~~~~~~new int[dim1][dim2]
: : 行不行,然后用完delete
--
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: as.hit.edu.cn]
发信人: zhangyan (今朝有水今朝灌), 信区: Programming
标 题: Re: 请问在C(C++)中怎样动态分配二维数组?
发信站: 哈工大紫丁香 (2001年02月21日18:35:02 星期三), 站内信件
至少也得用delete[]
没有用到constructor、destructor
用new和delete的效率也未必比
malloc和free高
【 在 grub (BluePoint) 的大作中提到: 】
: 为什么
: 【 在 youkou (鬼灵精) 的大作中提到: 】
: : 不可以
--
Take it slow, Set it couse, Make it happen.
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: ppp75.hr.hl.cn]
发信人: wane (plum), 信区: Programming
标 题: Re: 请问在C(C++)中怎样动态分配二维数组?
发信站: 哈工大紫丁香 (2001年02月25日16:35:11 星期天), 转信
建立:
double** yh;
yh=new double*[7];
for(int row=1;row<=6;row++)
{
yh[row]=new double[neq+1];
}
删除:
for(int i=1;i<=6;i++)
{
delete []yh[i];
}
delete []yh;
【 在 zhangyan (今朝有水今朝灌) 的大作中提到: 】
: 至少也得用delete[]
: 没有用到constructor、destructor
: 用new和delete的效率也未必比
: malloc和free高
: 【 在 grub (BluePoint) 的大作中提到: 】
: : 为什么
--
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.247.140]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.817毫秒