想想神吉锁 2022-03-14 14:39 采纳率: 100%
浏览 19
已结题

c字符存储大小问题:

    char ch = 'a';
    printf("%d\n", sizeof(ch));
    printf("%d\n", sizeof('a'));

输出结果是:

img


两个的区别是什么?

  • 写回答

3条回答 默认 最新

  • 关注

    在C标准中:
    char 和 字符变量属于字符常量,大小当然是1。
    ‘a’被称作整形字符常量(integer character constant),相当于是int类型,故为4。

    c语言中字符常量是指由一对单引号括起来的单个字符,如“ 'a'”、“'D'”、“'?'”、“'$'”;它代表ASCII字符集中的一个字符,在内存中占4个字节,存放的是字符的ASCII码(整型数据)。C语言规定所有字符常量都作为整型量来处理。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月22日
  • 已采纳回答 3月14日
  • 创建了问题 3月14日