必威体育Betway必威体育官网
当前位置:首页 > IT技术

数组之间不能直接赋值,为什么?赋值有四种方法

时间:2019-09-05 20:10:00来源:IT技术作者:seo实验室小编阅读:72次「手机版」
 

数组赋值

数组和数组之间能直接赋值吗?——不能

你难道是想 a=b??

首先你要明白:

数组名a,b代表指针常量,所以说赋值号左边必须是一个变量

a=b;

根本就是错误的

注意:数组名是常量,指针一般都是变量,当然也可以是常量。查看:https://blog.csdn.net/cyj2014go/article/details/78203404

法一:

当然你的想法也有可取之处,取地址运算,把数组a的首地址赋给B数组,不过这要通过指针来实现

例 

#include <iOStream>

#include <cstring>

using namespace std;

int main()

{

int a[5]={1,2,3,4,5};

int *p = new int [5];   //指针变量

p = a;

for(int i=0;i<5;i++)

{

cout<<*(p+i)<<" ";

}

cout<<endl;  

}//使用任何数据

法二

#include <iostream>

#include <cstring>

using namespace std;

int main()

{

int a[5]={1,2,3,4,5};

int b[5];

int i;

for(i=0;i<5;i++)

{

b[i]=a[i];

}

for(i=0;i<5;i++)

{

cout<<b[i]<<" ";

}

cout<<endl;

return 0;

}

//任何数据

法三

#include <iostream>

#include <cstring>

using namespace std;

int main()

{

char a[6]={"abcde"};

char b[6];

strcpy(b,a);

cout<<b<<endl;

return 0;

}

//缺点,只能是字符数组

法四

#include <iostream>

#include <cstring>

using namespace std;

int main()

{

  int a[6]= {1,2,3,4,5,6};

cout<<sizeof(a)<<endl;;

int b[6];

memcpy(b,a,sizeof(a));

for(int i=0;i<6;i++)

{

cout<<b[i]<<" ";

}

cout<<endl;

return 0;

}

//任何数据

相关阅读

微信聊天记录导出:四种实用又简单的方法

微信聊天记录怎么导出?如何导出微信聊天记录?相信不少小伙伴遇到过这类问题,也在网上求助过方法,或许你已经找到了解决方法,或许你还在

[剑指Offer编程题]二维数组中的查找

在一个二维数组中(每个一维数组的长度相同), 每一行都按照从左到右递增的顺序排序, 每一列都按照从上到下递增的顺序排序。 请完成一

java实现定时器的四种方式

package com.wxltsoft.tool; import org.junit.Test; import java.util.Calendar; import java.util.Date; import java.util.T

提高论坛人气的四种常用方法分享

做地方论坛的主要是看人气,一个论坛的受不受欢迎就要看论坛会员数量多不多,当然要排除自己的马甲,日IP上千的论坛,会员数大概在2000左

json对空数组的处理

背景:前段时间出差处理一个客户的需求,其中有一项需要用到JSON处理。需求中的http请求参数关于设备信息(subDeviceData)要求传空数

分享到:

栏目导航

推荐阅读

热门阅读