【C语言连载六】--------变量、修饰词、结构体、枚举、typedef

本文深入探讨C语言中的变量使用,详细解释了修饰词的作用,同时介绍了结构体、枚举和typedef的概念及应用,帮助读者更好地理解和运用这些核心概念。
摘要由CSDN通过智能技术生成


======变量 修饰词====================

一、变量 & 作用域
     (1)局部变量:----> { }内            ---->  不赋值时,系统默认为随机数;
     (2)全局变量:----> 整个应用程序  ----> 不赋值时,系统默认为0;

二、变量的存储类型//变量存储在哪里(内存、硬件寄存器)
      【1】内存分为:栈区、堆区(程序员)、静态存储区
      【2】根据存储类型,变量可分为:
            自动变量:auto  (局部变量—》存于栈区)
            静态变量:static(可修饰内部函数(静态函数 ),与全局变量生命周期一样)
            寄存器变量:register
三、静态变量
(1)它会保留上一次的值
(2)它的生命周期与应用程序绑定
(3)定义在函数内部 / 外部,不影响其生命周期
(4)存于静态存储区
(5)若写在函数外面,其他的函数也可以使用它;若写在函数里面,只能在对应函数中使用
       静态变量 & 全局变量 & 静态全局变量
静态变量:static修饰的变量,若定义在函数体外,就是静态全局变量
全局变量:定义在函数体外,默认修饰词为extern
静态全局变量:static修饰的全局变量

共同点:生命周期一样,均与应用程序绑定
异同点:作用域不一样
             静态变量若定义在{ }内,则其作用域在{ }内;若定义在函数体外(即静态全局变量),则其作用域在整个当前文件中。
             全局变量作用域在整个应用程序,其他文件也可以调用和访问

四、寄存器变量
(1)register修饰的自动变量
(2)存于硬件寄存器(大小有限)中,访问效率 > 内存
(3)生命周期:{ } 中
(4)只限于int、char、float、double、指针类型的变量使用
五、extern、 static 与函数
外部函数:当前文件中定义,允许其它文件访问、调用———>extern修饰
内部函数:当前文件中定义,不允许其它文件访问、调用———>static修饰
             内部函数被其他文件调用时,编译没有问题,链接时会出错
六、extern、 static 与变量
(1)extern声明一个已经定义过的变量,而非定义一个变量
(2)默认情况下,一个全局变量(外部)是可以供多个源文件共享的,
        (即,多个源文件中,同名的全局变量都代表同一个变量)。
(3)static修饰的全局变量,只能用于当前文件


======结构体、枚举、typedef====================

一、结构体
  结构体定义: struct 结构体名称 {} 变量名;
 
注意:定义结构体结尾一定要加分号
  //
结构体不能够对自身递归使用
 
结构体初始化方法:
  
方法一: struct Student jack = {10, "jack", 1.5, {2011, 5, 5}};
 
方法二: 分别设置各个属性的值
  //    jack.age = 10;
  //    jack.name = "jack";
  //    jack.height = 1.5;
  ->
指针符号
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值