存储类、链接和内存管理

一、作用域

1.作用域描述了程序中可以访问一个标识符的一个或多个程序。

2.在一个内部代码块中声明的变量,其作用域只局限于该代码块:


传统上具有代码块作用域的变量都必须在代码块的开始处进行声明。

3.函数原型作用域:

int mighty(int mouse ,double large);

函数原型作用域从变量定义处一直到原型声明的末尾。

4.文件作用域(全局变量)

具有文件作用域的变量从它的定义处到包含该定义的文件结尾处都是可见的。

二、存储时期

1.存储类


2.如果在内层代码块定义的名字是内层代码块所使用的变量,称之为内层定义覆盖了外部定义,但当运行离开内层代码块时,外部变量重新恢复作用。




三、具有代码块作用域的静态变量

静态是指变量的位置固定不动。具有文件作用域的变量自动(也是必须的)具有静态存储时期。从一次函数调用到下一次调用,计算机都记录着他们的值。试用存储类说明符static在代码块内声明。


上述代码中stay只在编译trystat()时被初始化一次,而fade每次都被初始化。

四、具有外部链接的静态变量

1.在使用外部变量中通过使用extern关键字来进行声明,如果是在别的文件中定义的则extern声明该变量就是必须的。

2.将两个文件放在同一个文件夹或工程中,编译时使用gcc 文件名A 文件名B 来实现编译。或者使用 #include "文件名"    这个头文件来实现文件的调用。

3.一个变量只可以有一个定义声明,但是用extern的声明是一个引用声明,可无限用。

五、const限定词

1.可以在一个声明中不止一次的使用同一限定词,多余的将被忽略:

const const const int n = 6;// 相当于 const int n = 6;

2.如果生命中带有const关键字,则不能通过赋值、增量或减量运算来修改他们的值。然而可以初始化一个const变量。在初始化以后,不可以在改变它。



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值