Linux学习---类型修饰符

本文深入探讨了C语言中的变量存储类别,包括auto、register、static、const、extern和volatile等关键字的使用及含义。解析了不同存储类别的变量在内存中的行为,以及它们如何影响程序的运行效率和资源管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • auto  

    eg:aoto int a;   

     默认情况--------->分配的内存可读可写的区域。

  • register 

    eg:register int a;

    限制变量定义在寄存器上的修饰符

    定义一些快速访问的变量。

    编译器会尽量安排CPU的寄存器去存放这个a,如果寄存器不足时,a仍存放在存储器中,

    "&"该符号对register不起作用(可能不在内存上)。

  • static

    静态

    ①局部变量

    int fun(){

      int a;  ====>static int a;

    }

默认局部变量在栈空间存在,生存周期比较短(函数返回结束),

局部静态化,局部变量在静态数据段保存,程序结束时才返回,函数返回时仍存在,生存周期非常长。

    ②全局变量

    int a;  ====>static inta;

    int fun(){

    

    }

防止重命名。 限制变量名只在本文件内起作用。

    ③全局函数

    int fun();  ====>static int fun();  

防止重命名。 限制该函数只在本文件内起作用。
 

  • const

    只读的变量,不是常量。

  • extern

    外部变量

  • volatie

    告知编译器编译方法的关键字,不优化编译。

    修饰变量的 值得修改,不仅仅可以通过软件,也可以通过其他方式(第三方,如硬件外部的用户等)。

    

转载于:https://www.cnblogs.com/BANLOONG/p/10459283.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值