字符数据以ASCII码存储在内存中。
这是一个字节。所有数据类型都以二进制代码形式存储在内存中,代码为0和1。这个原则不会改变。
在C语言中,字符数据是将字符常量放入字符变量中。它不是将字符本身放入内存单元,而是放入该字符对应的ASCII码。在存储单元中。
编码时,一个汉字需要2个字节来存储。在UTF-8编码中,存储一个英文字母字符需要1个字节,存储一个汉字需要3到4个字节。在UTF-16编码中,存储一个英文字母字符或一个汉字需要2个字节。在UTF-32编码中,存储世界上任何字符都需要4个字节。
ASCII码的分布
1、0~31、127(共33个)分别是控制字符或通信专用字符(其余为可显示字符),如控制字符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BS(退格)、BEL(铃)等等。
通信用特殊字符:SOH(文本头)、EOT(文本结束)、ACK(确认)等。 ;ASCII值8、9、10和13转换为退格键、制表符、换行符和字符输入。它们没有特定的图形显示,但根据不同的应用,会对文本显示产生不同的效果[1]。
2.32到126(共95个)为字符(32为空格),其中48到57为0到9的十个阿拉伯数字。
3.数字65至90为26个大写英文字母,数字97至122为26个小写英文字母,其余为标点符号、算术符号等。
6字节。
字符数组是指用来存储字符数据的数组。其定义的一般形式为:char数组名[数据长度]。
字符数组用于存储字符或字符串。字符数组中的一个元素存储一个字符,在内存中占用一个字节。在C语言中,字符串被当作字符数组来处理。为了确定字符串的实际长度,C语言指定了一个“字符串结束标志”,其中包含字符“\0”作为最后一个标志。所以这是6个字节。
C语言中没有字符串类型。字符串存储在字符数组中。
扩展信息:
字符数组的输入
1.使用getchar()或scanf()的“%c”。格式将字符分配给字符数组。例如,对于数组a[10]:使用getchar()赋值:
for(i=0;i<10;i++)
a[i]=getchar();
使用scanf()指定值:
for(i=0;i<10;i++)
scanf("%c",&a[我]);
2.使用scanf()的'%s'格式来指定数组中的值。或者对于数组a[10]:
scanf("%s",a)或scanf("%s",&a[0]);
输入“Cprogram”并且当你按Enter键时,数组将自动包含一个以“\0”结尾的字符串“cprogram”。
参考资料:
-汉字表
上一篇:字符型数据在内存中的存储形式是
下一篇:字符型数据在内存中以什么形式存放