在c语言中全局变量的存储类型是,C语言的存储类型

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

可能有的朋友不知道什么是存储类型请看下面

首先我们要知道C语言变量定义形式:

这个存储类型就是指你定义的这个变量是以何种方法存储在内存中

下面介绍C语言中的几种存储类型

一般情况下都不输入存储类型,因为默认是auto自动类型 ,但是得清楚还有存储类型这样一个东西。

auto 自动变量(c语言中未加存储类型说明的均为自动变量)

特点:

A.其作用域仅限于定义该变量的个体(在函数中定义就只在该函数有效,在复合语句定义就只在该复合语句有效。)

B.动态的存储方式

C.不同的个体中允许使用同名变量

D.对构造类型的自动变量,如数组等,不可做初始化

register寄存器变量(在windows系统中不一定存的进去)

特点:

A.这种变量之间存放在CPU的寄存器中,使用时不需要访问内存,直接从寄存器中读写

extern 外部变量(和全局变量实质相同但是两者是从不同角度出发)

特点:

A.外部变量是从存储方式出发而全局变量是从它的作用域出发,表示他们的生存期

B.当一个源程序由若干个源文件组成时,在一个源文件中定义的外部变量在其他源文件中也有效。

static静态变量(在编译时会分配特定的存储区间,所分配的存储空间至始至终都由该变量所使用)

分为静态局部变量 和 静态全局变量

静态局部变量:(在局部变量的说明前加上static)

1. 生存期为整个源程序。

2. 局部静态的生存期虽然为整个源程序但作用域和自动变量相同。

3. 允许对构造类静态局部变量赋初值。若未赋初值,系统自动初始0。

4. 对自动变量不赋初值,其值是不定的。

静态全局变量:(在全局变量说明前加上static)

特点:

全局变量本身就是静态的存储方式加了static之后存储方式上也并无不同,

但是他们的区别在于:非静态全局变量它的作用是整个源程序,当一个源程序由多个源文件组成时,它在各各源文件中都是有效的。而静态的全局变量,则只在定义该变量的源程序中有效,限定了其作用域。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值