第06天C语言(10):类型-基本概念

一、概念

/*
 计算机只能识别0和1 'a' 通过ASCII码表 获取一个值 转换成二进制
 在C语言中, 不看怎么存, 只看怎么取
 char类型 在某些情况下 可以当做整型来用
 如果对内容要求特别严格,而且需要存储的整数 不超过char类型的取值范围,那么就可以使用char类型来代替int类型
 -2(7)~2(7) - 1 = -128 ~ 127
 char c =128; // 打印出来 -128 因为超出了范围
 */
二、代码
#include <stdio.h>
int main()
{
#pragma 1.研究的问题 : char类型的变量 在内存中是如何存储的?
    // char 1个字节
    int num;
    char charValue;
    charValue = 'a'; // 计算机只能识别0和1 通过ASCII码表
    // a = 97 = 0110 0001
    int size = sizeof(charValue);
    printf("%i\n",size);
    printf("num = %p\n",&num); // 0x7fff5fbff768
    printf("charValue = %p\n",&charValue); // 0x7fff5fbff767

    // 在C语言中, 不看怎么存, 只看怎么取
    printf("%c\n",charValue);
    printf("%i\n",charValue);

#pragma 2.字符6 和 数字6就是完全不相同的两个数
    char c1 = 6;  // 0000 0110
    char c2 = '6'; // 54  = 0011 0110
    printf("%i\n",c1);
    printf("%i\n",c2);
    
    // char类型 在某些情况下 可以当做整型来用
    // 如果对内容要求特别严格,而且需要存储的整数 不超过char类型的取值范围,那么就可以使用char类型来代替int类型
    // -2(7)~2(7) - 1 = -128 ~ 127
    char c =128; // 1000 0000
    printf("%i\n",c);
    
    return 0;
}
image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容