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

本文详细介绍了C语言中的结构体、局部变量与全局变量的区别以及枚举的使用。讨论了结构体的定义、初始化、内存分析、多种定义方式及数组应用,强调了结构体类型的作用域。同时,文章还涵盖了枚举的定义和用途,强调了其提高代码可读性的优点。
摘要由CSDN通过智能技术生成

局部变量与全局变量

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值