C语言数据类型

C语言数据类型有4种

  • 基本数据类型
  • 构造类型
  • 指针类型
  • 无返回值类型
  • 基本数据类型

    数值类型

    int型:整型,该类型的数据在32位的操作系统下占4字节,64位占8字节。
    long型,32位下占4字节,64位下占8字节。
    short型,占2个字节
    char型,占1个字节
    float型,占4字节
    double型,占8字节

    构造类型

    结构体类型

    struct,将多个基本数据类型,或者结构体,共用体,指针构造而成的复合类型,大小取决于其他类型大小的总和。

    //例如
    typedef struct score{
        int math;
        int english;
    }score;
    struct student{
        char * name;
        int age;
        score = {100,100};
    }stu;

    共用体类型

    共用体也是由系列其他类型组合而成的类型,共用体大小取决于共用体内最大的类型大小。

    union A{
        int a;
        double c;
    }A;

    枚举类型

    由于一次只能给一个常量赋值,所以,枚举占4个字节
    我们常将一组相关的常量集定义成枚举

    typedef enum week{
        Mon = 1, Tues, Wed, Thurs, Fri, Sat, Sun
    }week;
    //使用枚举
    int main(){
        int i = 1;
        week day = (week)i;
        switch(day){
            case Mon: puts("Monday"); break;
            case Tues: puts("Tuesday"); break;
            case Wed: puts("Wednesday"); break;
            case Thurs: puts("Thursday"); break;
            case Fri: puts("Friday"); break;
            case Sat: puts("Saturday"); break;
            case Sun: puts("Sunday"); break;
            default: puts("Error!");
        }
        return 0;
    }

    数组类型

    ,数组类型是一组相同数据类型的集合,可以是结构体,可以是共用体。

    int a[10] = {0};
    char a[10] = {0};

    数组类型,常被用来出题,例如,已知int a[3][3] , a[0][0]的地址是1000,求a[2][2]的地址,甚至有的还可能求16进制地址,这里知道int型占4个字节,就能推算出到a[2][2]的时候是第多少个字节,就能推算出a的地址了。

    指针类型

    指针类型占4个字节,int * q ,char * q 都是4个字节

    无返回值类型

    void,通常被定义在函数前,如果当前函数无任何返回值,价void修饰。

    猜你喜欢

    转载自blog.csdn.net/qq_25956141/article/details/79634087