VC中如何将一个二维数组的值赋给另一个二维数组?只能用一行。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VC中如何将一个二维数组的值赋给另一个二维数组?只能用一行。相关的知识,希望对你有一定的参考价值。

其中一个是函数型式的
arrayB = change(m, arrayA);
这样好像不可以。。

//---------------------------------------------------------------------------

#include <stdio.h>
#include <string.h>
int main(void)

int a[2][2]=1,2,3,4,b[3][3]=0,i;

memcpy(b,a,sizeof(a));//把a数组的所有元素复制到b数组中

for (i = 0; i<9; i++)
printf("%d ",b[i/3][i%3]);
if ((i+1)%3==0) putchar('\n');

return 0;

//---------------------------------------------------------------------------
参考技术A 什么意思,什么叫"其中一个是函数型式的"

只用一行的话,可以用memcpy函数实现,前提是两个数组各个维数下的元素个数是相同的本回答被提问者和网友采纳
参考技术B 如果声明和定义变量那一行不算的话可以这样:
int a[2][3]=1,2,3,4,5,6,b[2][3];
memcpy((char *)b,(char *)a,2*3*sizeof(int));
参考技术C 把a赋给b
char a[5]=0;
char b[5];
memcpy(b,a,5);//b是目的地址,a是源地址,5是要拷贝的字节数

如何将一个二维数组中的内容复制到另一个二维数组

并将原二维数组中的sub-arrays(不知道是什么意思)复制到一维数组中
急!!!!!!!!!!!拜托了
请告诉我将一个二维数组中的内容复制到另一个二维数组,请写一下如何编写代码
至于sub-array已解决
thanks

用嵌套的for循环语句即可,具体示例如下(C语言):

首先将值赋给数组b,然后将数组b的数组复制给a并输出,具体如图。

参考技术A 用循环吧 sub-arrays就是字数组,也就是二维数组中的第二部分 参考技术B 用双层循环就可以了
比如把aa[2][3]赋给b[11].当然,数组b可以大一些
int i,j,k;
k=0;
for(i=0;i<3;i++)
for(j=0;j<4;j++)

b[k]=a[i][j];
k++;

主循环就是这样了!
参考技术C 其实二维数组就是数组的数组,它的意思就是让你将数组中放置的那个数组复制到一维数组中。
例子a[3][2],这个二维数组就是在数组a[3]的每个元素里面放置了一个长度为2的数组,也就是说a[0]里面放的是一个长度为2的数组,a[1]、a[2]里面同样。
题目要求就是让你把里面的数组复制出来。你可以利用循环把他们复制出来。主意数组的长度。这个例子中的复制出的一维数组长度应该是6(3*2)
补充————————————————————————————————————
for(int i=0;i<a.length;i++)
for(int j=0;j<a[0].length;j++)
b[i][j]=a[i][j];

本回答被提问者采纳

以上是关于VC中如何将一个二维数组的值赋给另一个二维数组?只能用一行。的主要内容,如果未能解决你的问题,请参考以下文章

怎么给一个二维数组赋不同的值

怎么样给一个一维数组全赋成false

怎么样给一个一维数组全赋成false

如何给数组里的数赋新值python编程

C++二维数组给一维数组赋值

PHP二维数组如何去掉重复值