C

作者: wanmei世界 | 来源:发表于2017-08-31 13:38 被阅读3次

    变量

    /*
     1、extern char D; 只是简单的声明一个变量的类型,没有定义变量 D(也就是没有给D分配内存地址)
     ,使用变量 D 之前需要先定义 char D;
     
     2、char D; 声明并定义一个 char 类型的变量 D,
     
     3、定义一个变量之后,就会为该变量分配内存空间,但是Value没有值。
     */
    extern char D;
    
    int main(int argc, const char * argv[]) {
    
        char A, B, C;
        char D = 'd';
        
        printf("地址:A= %p, B= %p, C= %p, D= %p \n", &A, &B, &C, &D);
        printf("value:A= %d, B= %d, C= %d \n", A, B, C);
        
        A = 'a';
        B = 'b';
        C = 'c';
       
        printf("地址:A= %p, B= %p, C= %p, D= %p \n", &A, &B, &C, &D);
        printf("value:A= %d, B= %d, C= %d \n", A, B, C);
        
        return 0;
    }
    
    
    屏幕快照 2017-08-31 下午5.34.52.png

    存储类

    • auto 局部变量的默认存储类,只能用来修饰局部变量
    {
       int mount;
       auto int month;
    }
    
    • static 全局变量的默认存储类,作用域在申明变量所在的文件内。
    static int Count;
    int Road;
    
    main()
    {
        printf("%d\n", Count);
        printf("%d\n", Road);
     }
    
    • register 所修饰的变量在寄存器内,没有内存地址,变量的最大长度为寄存器的大小
    {
       register int  miles;
    }
    
    • extern 在全局申明一个变量的引用,申明该变量或者函数在项目其他文件中已经定义了。
    //main.c文件
    #include <stdio.h>
     
    int count ;
    extern void write_extern();
     
    main()
    {
       count = 5;
       write_extern();
    }
    
    //support.c文件
    
    #include <stdio.h>
     
    extern int count;
     
    void write_extern(void)
    {
       printf("count is %d\n", count);
    }
    
    // 输出
    count is 5
    

    共用体

    //共用体 Data
    union Data
    {
        int i;
        float f;
        char  str[20];
    };
    
    int main( )
    {
        union Data data;
        
        data.i = 10;
        printf( "data.i : %d\n", data.i);
        
        data.f = 220.5;
        printf( "data.f : %f\n", data.f);
        
        strcpy( data.str, "C Programming");
        printf( "data.str : %s\n", data.str);
        
        
        printf( "**********************\n");
        printf( "data.i : %d\n", data.i);
        printf( "data.f : %f\n", data.f);
        printf( "data.str : %s\n", data.str);
        
        return 0;
    }
    
    
    • 只能给共用体其中一个元素赋值
    • 共用体的大小为其中最长元素的大小
    • 共用体一般用于不确定类型,可以达到节约内存空间的目的。

    相关文章

      网友评论

          本文标题:C

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