美文网首页十天学会C语言程序员
C语言day09-14结构体-类型作用域

C语言day09-14结构体-类型作用域

作者: liyuhong165 | 来源:发表于2016-05-04 23:43 被阅读222次

    pragma mark 结构体-类型作用域

    pragma mark 概念

    pragma mark 代码

    #include <stdio.h>
    void text();
    // 如果将变量写道函数 或者代码块外面, 那么就不是局部变量, 而是全局变量
    // 全局变量的作用域 是从定义的那一行开始, 直到文件末尾 (暂时这样理解)
    
    // 如果将结构体类型 写在 函数 或者 代码块外面 , 那么结构体类型的作用域和全部变量一样,从定义的那一行开始 一直直到文件末尾
    // 相同作用域 不能 有同名的结构体类型
    struct Person
    {
        int age;
        char *name;
        double height;
    };
    
    int num;
    int main()
    {
        num = 10;
        struct Person p1;
        return 0;
    }
    void text()
    {
        num  = 20;
        struct Person p2;
    }
    
    /*
    void demo()
    {
        struct Person
        {
            int age;
            char *name;
            double height;
        };
        
        int num = 10;
        // 代码块
        {
            struct Dog
            {
                int age;
                char *name;
            };
            struct Dog sd;
            
            // 局部变量 , 在不同的作用域中 可以 有同名的变量, 如果访问采用就近原则
            int num = 50;
            printf("num = %i\n",num);
            
            // 在不同的作用域中 可以定义同名的结构体类型, 如果使用同名的结构体类型 定义结构体变量, 采用就近原则
            struct Person
            {
                int age;
                char *name;
                double height;
            };
            struct Person sp = {24,"lyh",1.75};
        }
        
        //    num = 55;
        //    struct Dog sd1;
        
        
        struct Person sp;
    }
    
    void text()
    {
        // 1. 如果结构体定义再函数 或 代码块中, 那么结构体类型的作用域和变量的作用域一样, 从定义的那一行开始,一只到函数结束或者代码块结束
        
    //    struct Person sp;
    
    }
    */
    
    

    相关文章

      网友评论

        本文标题:C语言day09-14结构体-类型作用域

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