Skip to content

Latest commit

 

History

History
59 lines (41 loc) · 2.15 KB

15.char类型内存存储细节.md

File metadata and controls

59 lines (41 loc) · 2.15 KB

char类型内存存储细节

  • char类型基本概念
  • char是C语言中比较灵活的一种数据类型,称为“字符型”
  • char类型变量占1个字节存储空间,共8位
  • 除单个字符以外, C语言的的转义字符也可以利用char类型存储
字符 意义
\b 退格(BS)当前位置向后回退一个字符
\r 回车(CR),将当前位置移至本行开头
\n 换行(LF),将当前位置移至下一行开头
\t 水平制表(HT),跳到下一个 TAB 位置
\0 用于表示字符串的结束标记
\ 代表一个反斜线字符 \
\" 代表一个双引号字符"
\' 代表一个单引号字符'
  • char型数据存储原理
  • 计算机只能识别0和1, 所以char类型存储数据并不是存储一个字符, 而是将字符转换为0和1之后再存储
  • 正是因为存储字符类型时需要将字符转换为0和1, 所以为了统一, 老美就定义了一个叫做ASCII表的东东
  • ASCII表中定义了每一个字符对应的整数
    char ch1 = 'a';     printf("%i\n", ch1); // 97    char ch2 = 97;    printf("%c\n", ch2); // a
  • char类型注意点
  • char类型占一个字节, 一个中文字符占3字节(unicode表),所有char不可以存储中文

    char c = '我'; // 错误写法
  • 除转义字符以外, 不支持多个字符

    char ch = 'ab'; // 错误写法
  • char类型存储字符时会先查找对应的ASCII码值, 存储的是ASCII值, 所以字符6和数字6存储的内容不同

    char ch1 = '6'; // 存储的是ASCII码 64char ch2 = 6; //  存储的是数字 6
  • 练习
  • 定义一个函数, 实现输入一个小写字母,要求转换成大写输出

最后,如果有任何疑问,请加微信 leader_fengy 拉你进学习交流群。

开源不易,码字不易,如果觉得有价值,欢迎分享支持。