char型变量中能不能存储一个中文汉字?为什么?

如题所述

在C语言中一个汉字的存储空间等于两个字符,所以一个char型变量不能存储一个中文汉字。
而在Java语言中,由于Java在设计的初期就考虑到将该语言使用在互联网当中,所以设计者们选用了Unicode字符集,这也使得Java程序能够在互联网当中更好的流通,也正是由于这样的原因,以下的代码是合法的:char c=‘中’。Unicode为每种语言的每个字符设定了统一并且唯一的二进制码,在Unicode编码中,一个中文字符和一个英文字符所占的空间是一样的,所以一个char类型变量是可以存储一个中文字符的。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-10-28
char型变量是用来存储Unicode编码的字符的,unicode编码字符集中包含了汉字,所以,char型变量中当然可以存储汉字啦。不过,如果某个特殊的汉字没有被包含在unicode编码字符集中,那么,这个char型变量中就不能存储这个特殊汉字。补充说明:unicode编码占用两个字节,所以,char类型的变量也是占用两个字节。
第2个回答  推荐于2018-02-23
在C/C++ 里面 char 为一个字节 汉字为两个字节 所以是存储不了的
但是在C#里面 char为两个字节 因为C#char型变量是用来存储Unicode编码的字符的,unicode编码字符集中包含了汉字,所以,char型变量中可以存储汉字。本回答被网友采纳
第3个回答  2011-11-04
char的存储空间为2个字节,而一个汉字占用空间大小也是两个字节,当然可以存放啦!!
第4个回答  2011-11-01
能够定义成为一个中文的,因为java中以unicode编码,一个char占16个字节,所以放一个中文是没问题的