C语言变量的作用域

本文详细介绍了代码块的概念及其在复合语句中的应用,同时深入探讨了四种变量类型:auto(自动变量)、register(寄存器)、static(静态变量)和extern(外部变量)的作用域与特性。

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

什么叫做代码块呢?

代码块就是我们在复合语句中的就要代码块,在代码块中的auto(自动变量)是无法超出这个范围的,一旦超出了这个范围的话就会消失它的作用,比如:void main()

{   这个main函数的花括号就是一个代码块,而我们要在它的里面再定义一个代码块

       {   这个就是一个代码块,这是个内部的代码块,虽然是写在main函数里的,但是,里面的代码块的变量无法超出这个范围。

             int k=0;     

            k++;

      }

}

auto(自动变量),它的作用就是在某一定的代码块中使用,就像我们平时定义的变量都是省略了这个auto(自动变量)的,一旦你声明的auto(自动变量)超出了范围的话,它的数值也就为清空了,为零。

register(寄存器),寄存器的好处就是,在编程解决循环较多的时候利用,可以使得返回的速度快。

static(静态变量),它都作用域都是在一个源程序中,只有当这个源程序关闭的的时候才会消失这个变量,而访问的时候,也只有在源文件当中才能访问,一旦超出了这个源文件的情况下就会消失这个变量的。

extern(外部变量) ,以上的变量想要跨文件使用的话就需要定义一个extern(外部变量),这样可以引用register(寄存器),也可以引用static(静态变量),从而达到跨文件的效果。

以上的四种变量都是有自己的作用域,各具特色,我们用的时候就要小心。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值