数组不能够进行赋值操作:如果声明的是int a[MAXN],b[MAXN],是不能赋值b=a的(Pascal语言可以的)。
如果要从数组a复制k个元素到数组b,可以这样做:memcpy(b,a,sizeof(int)*k)。
当然了,如果数组a和b都是浮点型的,复制时要写成memcpy(b,a,sizeof(double)*k)。
如果需要把数组a全部复制到数组b中,可以写得简单一些:memcpy(b,a,sizeof(a))。
使用memcpy函数要包含头文件cstring。
代码如下:
#include<iostream>
#include<cstring>
using namespace std;
int main(){
int a[5] = {1,2,3,4,5};
int b[5] = {8,8,8,8,8};
memcpy(b,a,sizeof(int)*3);
for(int i = 0; i < 5; ++i){
cout<<b[i]<<endl;
}
return 0;
}