发布网友
共4个回答
热心网友
不可以。
字符数组是指用来存放字符数据的数组。字符数组用于存放字符或字符串,字符数组中的一个元素存放一个字符,它在内存中占用一个字节。即字符数组的元素只占用了1个字节。
而整型类型说明符为int,根据计算机的内部字长和编译器的版本,在内存中可能占2或4个字节(通常分别在16位机和32位机上),其取值为基本整常数。
因此,一维整型数组与一维字符型数组不可互换使用,因为类型不匹配。
扩展资料:
一位数组的内存原理:
在数组的声明格式里,“数据类型”是声明数组元素的数据类型。“数组名”是用来统一这些相同数据类型的名称,其命名规则和变量的命名规则相同。数组声明之后,接下来便是要分配数组所需要的内存,这时必须用运算符new。
其中“个数”是告诉编译器,所声明的数组要存放多少个元素,所以new运算符是通知编译器根据括号里的个数,在内存中分配一块空间供该数组使用。利用new运算符为数组元素分配内存空间的方式称为动态分配方式。
参考资料来源:百度百科-字符数组
参考资料来源:百度百科-数组
参考资料来源:百度百科-整型
热心网友
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;
}
热心网友
不可以,因为一个是数值一个是字符串
热心网友
你要讲清楚啊……不知道你在说啥