C++里的同类型赋值以及宽字节的问题
答案:2 悬赏:40 手机版
解决时间 2021-03-10 18:19
- 提问者网友:我是我
- 2021-03-10 15:13
char a[20];char b[20];a=b;//把b的值赋给a为什么不行? 还有 宽字节是什么概念 详解!
最佳答案
- 五星知识达人网友:旧脸谱
- 2021-03-10 16:49
a和b是数组名称,实际上就对应的是内存地址,所以不能直接这么赋值。一般可以使用strcpy函数来复制。宽字节就是保存汉字需要两个字节来对应一个汉字,所以就弄了一个宽字节出来,除了汉字,还有一些其他国家的语言或者一些特殊符号,也要用两个自己来表示。
全部回答
- 1楼网友:舊物识亽
- 2021-03-10 18:08
首先,数组是不可以直接赋值的,你那里的a,b只是首地址的指针,放然不可以赋值的,我给数组赋值需要用循环,就以的要把数组b的成员全部赋值给a中的每个成员为例:
int i,j=0;
for(i=0;i<sizeof(b)/sizeof(char);i++)
{
a[j++]=b[i];
}
这样就可以了。
字节长度就是比一般字节要大的字节,一般一个英文字符是一个字节的,占计算机一个字节的空间,但是世界时有各种各样的语言文字,那么一个字节就存储不下了,所以就有个宽字节,中文字符就是2个字节的,占计算机2个字节的空间。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯