| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2450 人关注过本帖
标题:诚心请教,怎样生成动态二维数组???
只看楼主 加入收藏
yysongge
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-10-9
收藏
 问题点数:0 回复次数:20 
诚心请教,怎样生成动态二维数组???
请教各位高手,怎样才可以通过调用子函数的方法,通过用户传递的两个每维的值生成
对应的数组??望赐教!
搜索更多相关主题的帖子: 诚心 动态 
2006-10-09 17:20
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 

(类型*)malloc(行数*列数*sizeof(类型))


[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-10-09 17:25
C语言学习者
Rank: 4
等 级:贵宾
威 望:13
帖 子:1278
专家分:0
注 册:2006-9-26
收藏
得分:0 
希望第二楼说详细一点就好。

谁有强殖装甲第二部,可以Q我460054868
2006-10-09 17:37
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 

内存是连续的,所以在内存中没有几维的概念.

动态生成N维数组完全可以当成一维数组来申请.

使用的时候当成N维就可以了


[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-10-09 17:40
C语言学习者
Rank: 4
等 级:贵宾
威 望:13
帖 子:1278
专家分:0
注 册:2006-9-26
收藏
得分:0 
我想问(类型*)malloc(行数*列数*sizeof(类型))是用在结构体里,可以要在数组里,毕竟数组是静态储蓄,如果要用怎样用?

谁有强殖装甲第二部,可以Q我460054868
2006-10-09 17:47
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 
[QUOTE]我想问是(类型*)malloc(行数*列数*sizeof(类型))是用在结构体里,可以要在数组里,毕竟数组是静态储蓄,如果要用怎样用?[/QUOTE]

谁说它是用在结构体里的?
malloc是标准的动态分配函数.和(C++的new是一个原理.难道new只能用在类?)
其他函数还有 allocmem 和 calloc

去查一下使用方法你就明白了
再多问一句?难道还没学动态分配数组?结构体都学过了.不应该没学到啊

[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-10-09 17:54
C语言学习者
Rank: 4
等 级:贵宾
威 望:13
帖 子:1278
专家分:0
注 册:2006-9-26
收藏
得分:0 
SunShining老大,或者学过我忘记,书上没有涉及,请指教。

谁有强殖装甲第二部,可以Q我460054868
2006-10-09 18:02
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 

这个..就是利用堆栈动态的分配一组连续的内存(当然.这个静态存储区是不同的)

然后在必要的时候可是手动释放掉这些内存(静态的数组是在程序结束后自动释放的)

适用于大的数组.在使用后就立刻释放掉...这样能节省很多内存空间.当然 很多其他的方面也是非常有用的

至于细节.建议你还是找些书或者资料.(让我说估计我说不太明白)


[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-10-09 18:08
C语言学习者
Rank: 4
等 级:贵宾
威 望:13
帖 子:1278
专家分:0
注 册:2006-9-26
收藏
得分:0 
这样..希望举个例子让人易明白,继续老大。

谁有强殖装甲第二部,可以Q我460054868
2006-10-09 18:13
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 
...例子吗?

#include<stdio.h>
#include<malloc.h>
int main()
{
int *prt=NULL;
int i;
prt=(int*)malloc(10*sizeof(int));
for(i=0;i<10;i++)
prt[i]=i+5;
printf("%d",prt[5]);
free(prt);
}

简单点...就这样了

[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-10-09 18:22
快速回复:诚心请教,怎样生成动态二维数组???
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.057714 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved