计算机二级课程记录(11)

局部变量,全局变量,存储分类和宏定义

定义

给变量分配确定的存储单元,并不分配存储空间

作用域分类

局部变量:函数内部,也称内部变量,函数形参属于局部变量
全局变量从定义到程序结束为止
全局变量:函数外部定义,外部变量
全局变量与局部变量冲突时,优先局部变量

存储类型分类

自动,局部变量可以为自动和静态
静态,全局变量只能为静态

auto变量(自动)

定义变量时,无指定说明,或说明auto时,系统自动类别
存储在动态存储区,退出时,自动释放存储区
局部变量必须放在函数中,执行之前

register变量(寄存器)

与auto类似,只是变量保留在CPU之中,但寄存器有限,且没有地址,不能进行地址运算
static变量(静态)
在函数体中static定义局部变量时,可以称静态局部变量
在程序运行期间,一直存在,未对赋值时初值为0
只限于本编译单位使用,内部函数
extern变量 (外部)

扩展全局变量的作用域
被其他编译单位中函数调用,函数为非整型,需说明

宏定义

不带参数

#define 宏定义名 替换文本

带参数

#define 宏定义名(形参表) 替换文本
【例子1】

#define MU(x,y)  ((x)*(y))
  a = MU(5,2) = 10

【注意】

不得加;
名字不与其他相同
写两行时,比加\连接

终止宏定义

#undef
【例子2】

#define PI 3.14
...
#undef PI 3.14//不想让PI为3.14了
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值