美文网首页
C语言进阶一

C语言进阶一

作者: 娇娇_5038 | 来源:发表于2023-12-05 10:35 被阅读0次

    1.数据类型

    基本数据类型和复合类型

    1.1基本数据类型

    char,int ,long,short ,float,double

    1.1.1内存占用和sizeof运算符

    数组类型好像一个一个的模子,这个模子实例化处C语言的变量,变量存储在内存中,需要占用一定的内存空间。(定义的变量越少,消耗的内存越少),一个变量占用多少空间由数据类型决定的。每一种数据类型在不同的机器平台上占用的内存是不一样的,一般来讲的时候以32位的cpu来讲的

    int a;  //4

    long a;//4

    short a;//2

    float a;//4

    double a;//8

    char a;//1个字节

    1.1.2 有符号数和无符号数

    以下类型分为有符号数和无符号数

    char 

    int 

    long

    short 

    以下类型只有符号数

    float

    double

    对于C语言来说,数(也就是变量)是存储在内存中的一个一个的格子中。存储的时候用二进制存储,对于由符号数和无符号数存储方式不同。比如int来说 unsigend int ,32个字节全部可以来存储内容,所以表示数的范围是0 - 4294967295(2^32 -1)

    对于signed int ,有符号数,32位中最高位来存符号,剩余31位来存储数据 -(2^31 ) 到  +(2^31-1)

    类型怎么定义就怎么取,int 编译和float编译形式不一样

    1.1.3 整型数和浮点型数存储方式不同

    复合类型

    数组,结构体,公用体,类(c语言没有类,c++)

    1.2 空类型

    void

    C语言的void类型,代表任意类型,而不是空类型。任意类型的意思不是说想变成谁变成谁,而是说它的类型是未知的,还没有指定

    void * 代表空类型指针,void类型指针的含义是,这是一个指针变量,该变量指向一个void类型的数,void类型的数就是说这个数可能是int,也可能是float,也可能是结构体,哪种类型都有可能,只是我不知道

    void程序编译器没办法帮你做编译检查

    在函数的参数列表和返回值中,void的含义是:

    作为一个函数参数列表的void,表示这个函数调用时不用给它传参

    发返回值类型是void,表示这个函数不会返回一个有意思的返回值。所以调用者不用想着使用该返回值

    注意:void * 类型的指针,可以指向任意类型的变量,但是程序员必须自己清楚,存放时合取时数的类型必须相等,否则会报错

    eg

    #include main(void){

    int a=23;

    void * pVoid = &a;

    printf("*pVoid = %d",* (int * ) pVoid);

    }

    1.3 数据类型转换

    1.3.1 隐私类型转换

    1.3.2 强制类型转换

    1.4语言和bool类型

    相关文章

      网友评论

          本文标题:C语言进阶一

          本文链接:https://www.haomeiwen.com/subject/jxkrgdtx.html