一维整型数组与一维字符型数组能互换使用吗?为什么

如题所述

不可以。

字符数组是指用来存放字符数据的数组。字符数组用于存放字符或字符串,字符数组中的一个元素存放一个字符,它在内存中占用一个字节。即字符数组的元素只占用了1个字节。

而整型类型说明符为int,根据计算机的内部字长和编译器的版本,在内存中可能占2或4个字节(通常分别在16位机和32位机上),其取值为基本整常数。

因此,一维整型数组与一维字符型数组不可互换使用,因为类型不匹配。

扩展资料:

一位数组的内存原理:

在数组的声明格式里,“数据类型”是声明数组元素的数据类型。“数组名”是用来统一这些相同数据类型的名称,其命名规则和变量的命名规则相同。数组声明之后,接下来便是要分配数组所需要的内存,这时必须用运算符new。

其中“个数”是告诉编译器,所声明的数组要存放多少个元素,所以new运算符是通知编译器根据括号里的个数,在内存中分配一块空间供该数组使用。利用new运算符为数组元素分配内存空间的方式称为动态分配方式。

参考资料来源:百度百科-字符数组

参考资料来源:百度百科-数组

参考资料来源:百度百科-整型

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-09-01
c++交换数组元素:
#include <iostream>
using namespace std;

void swap(int a[],int m,int n)
{
int x=0,y=m,z,t;
while (x<y)
{
t=y;
for (;x<t&&y<m+n;x++,y++)
z=a[x],a[x]=a[y],a[y]=z;
if (y==m+n) y=t;
}
}

void main()
{
int a[50],i,m,n,k;

cin>>k;
for (i=0;i<k;i++)
cin>>a[i];
cin>>m>>n;
if (k<m+n)
{
cout<<"Input Data Error!"<<endl;
return;
}

swap(a,m,n);

for (i=0;i<k;i++)
cout<<a[i]<<' ';
cout<<endl;
}本回答被网友采纳
第2个回答  2017-05-03
不可以,因为一个是数值一个是字符串
第3个回答  2017-05-03
你要讲清楚啊……不知道你在说啥
相似回答