首页 理论教育 C语言程序设计:字符内存表示方法解析

C语言程序设计:字符内存表示方法解析

时间:2023-10-27 理论教育 版权反馈
【摘要】:字符的定义是char,字符数据在内存中占1个字节,存储的是字符的ASCII码值。signed是默认修饰符,所以char等价于signed char。unsigned char型采用二进制数据形式存储字符码值,码值范围是0~255。图2-8所示为char型数据'a'、'A'、'0'的内存表示,它们的符号位都是0。图2-8字符型数据的存储表示字符串是字符序列,在内存中也是由字符的表示组成,其占用的字节数取决于字符串中的字符个数。图2-9字符串数据的存储表示

C语言程序设计:字符内存表示方法解析

字符的定义是char,字符数据在内存中占1个字节,存储的是字符的ASCII码值。如'a'~'z'的码值是97~122,'A'~'Z'的码值是65~90,'0'~'9'的码值是48~57。

字符类型的修饰符有signed、unsigned,具体类型分为signed char(有符号字符型)和unsigned char(无符号字符型)。signed是默认修饰符,所以char等价于signed char。

unsigned char型采用二进制数据形式存储字符码值,码值范围是0~255。signed char型采用补码形式存贮字符的码值,将最高位作为符号位,码值范围是-128~127。实际上,标准ASCII码值的范围是0~127,所以就简单字符处理而言,unsigned char和signed char基本没有差别。图2-8所示为char型数据'a'、'A'、'0'的内存表示,它们的符号位都是0。

图2-8 字符型数据的存储表示(www.xing528.com)

字符串是字符序列,在内存中也是由字符的表示组成,其占用的字节数取决于字符串中的字符个数。若字符串中有n个字符,则需要n+1个字节。除了存储每个字符的ASCII码之外,在末尾字符之后,另需要1字节存储空字符‘\0’,以标记字符串的结束。如图2-9所示的3个字符串的内存表示。其中空字符串“”,虽然不包含任何字符,可存储字符串结束符的‘\0’的字节依然不能缺少。

图2-9 字符串数据的存储表示

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈