C语言——结构体、局部变量和全局变量、枚举

局部变量与全局变量

   按照作用域不同将变量分为 局部变量和全局变量
   局部变量:定义在函数内部变量
   作用域:从定义的那一行开始直到所在代码结束
   生命周期:从定义的那一行开始只直到其所在代码结束
   注意点:内部代码块中定义与外部代码块中的同名变量,那么内部代码中变量会覆盖外部代码块中定义的变量
   局部变量只有定义没有声明,存储位置:栈
 
   全局变量:定在函数外部变量,在所有函数中都可访问全局变量
   作用域:从定义的那一行开始直到文件结束
   生命周期:从程序加载的时候,直到程序退出
 
   全局变量的定义:变量类型 变量名称 = 值
   全局变量的声明  变量类型 变量名称
   1、全局变量的声明可以重复
   2、全局变量的定义不可以重复

   3、全局变量若只有声明没有定义那么系统会自动给它定义并将其初始化为 0
     作用域:从定义哪一行开始知道文件结束
     生命周期:从程序启动到程序退出
     存储位置:全局区

结构体

 void test(){
    //   结构体是一种构造类型
    //   构造类型:可以存放其他类型的那么一种类型
    //   数组:它只能存放一种数据类型的多个数据
    int nums[] = {1,3,4};
       Person(人)  年龄(int) 身高(float) 名字(char *)
        int Person[3] = {10,2.1,"巨人"};
        printf("%d,%d,%d",Person[0],Person[1],Person[2]);
        结构体定义格式:
        struct 结构体类型名称{
            数据类型 成员名称;
            ....
       };
    
    struct Person{
        int age;//此处也是分号
        float height;
        char *name;
        
    };//此处必须以分号结尾
    
    数据类型 变量名称
    结构体类型 结构体变量名称
    结构变量的定义
    struct Person p;
    //    p.age = 10; //通过.访问结构变量中成员
    //    p.height = 2.1f;
    //    p.name = "姚明二代";
    
    printf("age = %d,heigth = %.2f,name = %s\n",p.age,p.height,p.name);
}

结构体多种初始化方式

    struct Person{
        int age;
        float height;
        char *name;
    };
    
    1、先定义再初始化
    struct Person p;
    p.age = 10;
    
     2、定义的同时进行初始化
    struct Person pp = {10,2.1f,"ymsd"};
    
    printf("age = %d,heigth = %.2f,name = %s\n",pp.age,pp.height,pp.name);
     3、为指定的成员进行初始化
    struct Person ppp = {.age = 20,.name = "ym"};
    printf("age &#

你可能感兴趣的:(C语言基础,c语言)