关于二维数组的copy和将一维数组转为二维的区别

君,已阅读到文档的结尾了呢~~
java二维数组练习题
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
java二维数组练习题
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口如何用CopyMemory将一维数组的内容复制到二维数组的某一行中? Dim & myAry(2,5) & As & Byte &
'二维数组
Dim & myThisAry() & As & Byte &
'一维数组
myThisAry & = & StrConv( &ABCDEF &, & vbFromUnicode)
我需要把一维数组复制到二维数组的某一行中。这种说法可能不对,就是把 &ABCDEF &转换后的字节数组复制后,使二维数组变成类似以下:
& myAry(1,0)=65
& myAry(1,1)=66
& myAry(1,2)=67
& myAry(1,3)=68
& myAry(1,4)=69
& myAry(1,5)=70
数组很大,不想用循环,可是CopyMemory & 之后,似乎一维数组的内容被平均分配给二维数组的每一行了。
我的用法是:
CopyMemory & myAry(1, & 0), & myThisAry(0), & 6
从myThisAry的第一个元素开始复制6位,更新myAry第一维下标是1这一行的,从第一个元素开始的6个元素(这些话该怎么说才标准呢?)
应该怎样用CopyMemory & 才对呢?
回答1:两者的行列不相同。
回答2:这个和内存的存储有关系
C语言中是按行存储,而VB里面是按列存储数据的
所以基本上涉及多维数组就要用循环了
A[0,0],A[0,1],A[1,0],A[1,1]
A(0,0),A(1,0),A(0,1),A(1,1),
CopyMemory ByVal VarPtr(myAry(1, 0)), ByVal VarPtr(myThisAry(0)), 6
能行不...怎么排列的我是不知道啊。LZ试试求解析:复制二维数组_c语言吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:527,661贴子:
求解析:复制二维数组收藏
高手过来帮忙给我解析下好吗?下面是一个将二维数组复制到另一二维数组的代码。我的疑问是:为什么在主函数调用时参数为ROOW*LINE?明明是二维数组,为何会这样用?参数arr1[0]意思是将arr1的一维首元素地址传递给调用函数吗?另,copy_arr函数中,arr[n]明明是一维函数,为什么会成功的将二维数组复制?是根据第二维首元素紧跟第一维末元素的原理吗?我是菜鸟,还望高手不吝指教,谢谢
点击赢取你的第二台手机—魅蓝 E2
#include&stdio.h&#define ROOW 2#define LINE 5void copy_arr(double ar[], double arr[], int i);int main (void){int i,n;double arr1[ROOW][LINE] = { {1.1,2.2,3.3,4.4,5.5}, {0.1,0.2,0.3,0.4,0.5} };double arr2[ROOW][LINE];copy_arr(arr1[0],arr2[0],ROOW*LINE);/*此处ROOW*LINE的*符号在copy_arr函数中怎么作用??另外这里讲arr1[0]是否是将arr1的首行首元素传递给copy_arr函数??*/ for (i = 0; i & ROOW; i++)
for (n = 0; n & LINE; n++)
printf ("arr2 is %4.2f \n",arr2[i][n]);getch();return 0;}void copy_arr (double ar[], double arr[], int i)/*将copy_arr这样编写是否是根据一维末尾紧跟着二维首元素,所以此处才使用一维传递数值?? */ {for (n = 0; n & n++) arr[n] = ar[n];}
二维数组复制到一维数组有什么问题?
因为每行的长度是固定的…c=i/roow,r=i%roow...顺便问下roow是神马东东…
二维数组在内存中是连续分布的。
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或

我要回帖

更多关于 二维数组变成一维数组 的文章

 

随机推荐