社区
C++ 语言
帖子详情
关于动态创建三维数组并赋初值0的问题?
clxye
2006-10-30 11:54:18
假设我有两个变量:iWordTemplateCount, iFolderCount这两个变量(这两个值都可以通过前面计算出来)
我想动态创建一个这样的三维数组WordFreqTable[iWordTemplateCount][3][iFolderCount]这个三维数组,并且赋初值0。请问该如何实现?
谢谢!!
...全文
580
10
打赏
收藏
关于动态创建三维数组并赋初值0的问题?
假设我有两个变量:iWordTemplateCount, iFolderCount这两个变量(这两个值都可以通过前面计算出来) 我想动态创建一个这样的三维数组WordFreqTable[iWordTemplateCount][3][iFolderCount]这个三维数组,并且赋初值0。请问该如何实现? 谢谢!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
飞哥
2006-10-30
打赏
举报
回复
貌似一个什么数组的转换
beginnow
2006-10-30
打赏
举报
回复
WordFreqTable[iWordTemplateCount][3][iFolderCount];
int ***ppp;
if((ppp = new int**[iWordTemplateCount]) == NULL)
return false;
for(int i = 0; i < iWordTemplateCount; i ++)
{
if((ppp[i] = new int *[3]) == NULL)
return FALSE;
for(int n = 0; n < 3; n ++)
{
if((ppp[i][n] = new int[iFolderCount]) == NULL)
return FALSE;
memset(ppp[i][n], 0, iFolderCount * sizeof(int));
}
}
morphymorphy
2006-10-30
打赏
举报
回复
malloc 版的。。。作天晚上才做过。。
// dynamic memory allocation
// Malloc3D: Memory allocation procedure for 3D arrays
int*** Malloc3D(int firstDemension,int secondDemension,int thirdDemension)
{
int*** p;
int i,j;
assert(firstDemension > 0 && secondDemension > 0 && thirdDemension >0);
if((p=(int***)malloc(firstDemension*sizeof(int**)))==NULL)
{
fprintf(stderr,"can't allocate memory\n");
}
for(i=0; i<firstDemension; ++i)
{
if((p[i]=(int**)malloc(secondDemension*sizeof(int*)))==NULL)
{
fprintf(stderr,"can't allocate memory\n");
}
for(j=0; j<secondDemension; ++j)
{
if((p[i][j]=(int*)malloc(thirdDemension*sizeof(int)))==NULL)
{
fprintf(stderr,"can't allocate memory\n");
}
}
}
for(i=0; i<firstDemension; i++)
{
for(j=0; j<secondDemension; j++)
{
for(k=0; k<thirdDemension; k++)
p[i][j][k] = 0;
}
}
return p;
}
lann64
2006-10-30
打赏
举报
回复
如果你的iWordTemplateCount, iFolderCount不是太大,耽心栈放不下的话,直接用就是了,不需要new或者malloc的。
OOPhaisky
2006-10-30
打赏
举报
回复
在c++/c中,动态创建的数组没有办法同时指定初始值,只能利用两个语句完成(第一个语句创建动态数组,第二个语句初始化);但是静态数组则可以在定义时指定初始值。
lann64
2006-10-30
打赏
举报
回复
c中:
int arr[ii][jj][kk]={0};
c++中:
int arr[ii][jj][kk];
memset(&arr[0][0][0],0,ii*jj*kk*sizeof(int));
clxye
2006-10-30
打赏
举报
回复
我先吃饭先,回来给你们分。
int N=2,M=3;
int ** arr = new int*[N];
for(int i=0;i<N;i++)
{
arr[i] = new int[M];
}
for(int j=0; j<N; j++)
{
for(int k=0; k<M; k++)
{
arr[j][k] = 0;
cout<<arr[j][k]<<endl;
}
}
从网上查的,也挺不错(三维还没试)。
飞哥
2006-10-30
打赏
举报
回复
float (*cp)[25][10];
cp = new float[10][25][10];
hailongchang
2006-10-30
打赏
举报
回复
int *p=(int*)malloc((3*iWordTemplateCount*iFolderCount)*sizeof(int));
char *q =(char*)p;
memset(q,0,4*3*iWordTemplateCount*iFolderCount);
clxye
2006-10-30
打赏
举报
回复
谢谢了!!
Java开发技术大全 电子版
2.3.8变量
赋
初值
33 2.3.9变量的作用域34 2.3.10数据类型转换34 2.4运算符与表达式37 2.4.1算术运算符和算术表达式38 2.4.2关系运算符和关系表达式43 2.4.3逻辑运算符和逻辑表达式44 2.4.4条件运算符和条件...
一维
数组
与二维
数组
二维
数组
创建的三种方式4.二维
数组
的迭代 1.一维
数组
1.什么是
数组
?
数组
是相同数据类型元素的集合。 简单说,
数组
即就是在计算机内存中找一块连续的内存,在里面放相同类型的数据。 注意: 1.
数组
里放入的数据...
【C语言】一维
数组
和二维
数组
怎么定义?怎么使用?sizeof在
数组
中的使用?
数组
和指针的结合?
sizeof(brr[0][0]) ->单元格类型所占字节数与一维
数组
arr[0]含义一致,单个元素的大小。*
数组
名 = 首元素的值 => *brr = brr[0][0] //访问第1行第1个元素的值。,它的工作原理是将
数组
的总大小(以字节为单位)除以...
Java
数组
及二维
数组
初始化与
赋
值方法总结
1.定义
数组
直接
赋
值 int a[]= {1,2,3,4,5}; 2.用new在
数组
中创建元素 int a[]=new int[]{1,2,3}; 注意:后面的[]不要忘...输出结果为[0, 0, 0],Arrays.toString产生一维
数组
的可打印版本。 4.先声明再
赋
值 int c
c#
三维
数组
七夕快乐之c#
三维
数组
C++ 语言
64,637
社区成员
250,559
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章