变量定义、变量声明、全局变量、静态变量、局部变量。

任何一个程序在使用之前必须进行变量定义和声明。

变量定义:为变量分配存储空间,还可以为为变量指定初始值。在一个程序中,有且仅有一个变量定义。

变量声明:描述其它地方创建的对象,可以多次出现。用extern声明一个变量。


例如说,如果程序之前没有出现过a这个变量,这时候要使用a,要使用变量定义,为其分配存储空间,于是这就是一个变量定义。假如之前已经出现过变量a,已经为其分配好了存储空间,这个时候要再次使用它,就需要用到变量声明。只需要通过extern int a 告诉程序,这个a在其他地方定义过。


在C语言中,对变量的存储类型说明有以下几种:

auto      自动变量

register 寄存器变量

extern   外部变量

static     静态变量


全局变量的作用域是整个程序,它只需要在一个源文件中定义,就可以作用于所有的源文件,其它不包含全局变量的源文件需要用extern关键字再次声明这个全局变量。


全局变量、静态局部变量、静态全局变量都在静态存储区分配空间,而局部变量在栈上分配空间。


静态变量存储在静态存储区,它的生命期和程序生命期相同。


全局变量和局部变量的区别:


1)存储方式:全局变量分配在全局数据区,后者分配在栈区。

2)生命周期:全局变量随主程序的创建而创建,随着主程序的销毁而销毁,局部变量在局部函数内部,函数退出时就不存在啦。

3)作用域:全局变量作用域为整个源程序,局部变量作用域为当前函数。

4)使用方式不同:通过声明后各个变量程序的各个部分都可以用到,局部变量只能在局部使用。

5)局部变量可以和全局变量重名,但是局部变量会屏蔽全局变量。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值