
int[,] queue = new int[x, y]---x是行个数---y是列个数
两种方式:
一 使用for循环
int SrcArray[y][x]//源数组
for(int i=0i<yi++)
{
for(int j=0j<xj++)
{
DestArray[i][j] = SrcArray[i][j]
}
}
二 使用内存 *** 作函数来提高效率
二维数组初始化,将DestArray全部置为零
int DestArray[y][x]
for(int i=0i<yi++)
{
memset(DestArray[i], 0, sizeof(int)*x)
}
这种方法效率更高。
还有将memset改为 memcpy 复制已有的数组。
int DestArray[y][x]//目的数组
int SrcArray[y][x]//源数组
for(int i=0i<yi++)
{
memcpy(DestArray, SrcArray, sizeof(int)*x)
}
以上两个例子都是考虑了二维数组时动态生成时的情况
因为内存不连续,需要用for循环来对每个块的内存赋值
假如是程序源码中已定义大小且连续的内存,可以不需要for循环直接调用这两个函数,例如:
int DestArray[100][100]
int SrcArray[100][100]
memcpy(DestArray, SrcArray, sizeof(int)*100*100)
memset(DestArray, 0, sizeof(int)*100*100)
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)