当前位置: 代码迷 >> C语言 >> 诚心请教,怎样生成动态二维数组???
  详细解决方案

诚心请教,怎样生成动态二维数组???

热度:285   发布时间:2006-10-09 17:20:47.0
诚心请教,怎样生成动态二维数组???
请教各位高手,怎样才可以通过调用子函数的方法,通过用户传递的两个每维的值生成
对应的数组??望赐教!
搜索更多相关的解决方案: 诚心  动态  

----------------解决方案--------------------------------------------------------

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


----------------解决方案--------------------------------------------------------
希望第二楼说详细一点就好。
----------------解决方案--------------------------------------------------------

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

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

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


----------------解决方案--------------------------------------------------------
我想问(类型*)malloc(行数*列数*sizeof(类型))是用在结构体里,可以要在数组里,毕竟数组是静态储蓄,如果要用怎样用?
----------------解决方案--------------------------------------------------------
[QUOTE]我想问是(类型*)malloc(行数*列数*sizeof(类型))是用在结构体里,可以要在数组里,毕竟数组是静态储蓄,如果要用怎样用?[/QUOTE]

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

去查一下使用方法你就明白了
再多问一句?难道还没学动态分配数组?结构体都学过了.不应该没学到啊
----------------解决方案--------------------------------------------------------
SunShining老大,或者学过我忘记,书上没有涉及,请指教。
----------------解决方案--------------------------------------------------------

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

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

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

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


----------------解决方案--------------------------------------------------------
这样..希望举个例子让人易明白,继续老大。
----------------解决方案--------------------------------------------------------
...例子吗?

#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);
}

简单点...就这样了
----------------解决方案--------------------------------------------------------
  相关解决方案