关键字与变量、函数之间的相互作用

2019-01-29  本文已影响1人  silasjs

目录

[toc]

局部变量

1. 概念

局部变量就是定义在函数,代码块和函数形参列表中的变量,我们就称之为局部变量

2. 作用范围

从定义的哪一行开始一直到遇到大括号结束或者遇到return为止

3. 特点:

4. 注意:

5. 存储位置

局部变量存储在栈中,当作用域结束系统会自动释放栈中的局部变量

全局变量

1. 概念

写在函数,代码块,形参列表外的变量,我们就称之为全局变量

2. 作用范围

从一定的那一行开始一直直到文件末尾(暂时这样认为)

3. 特点

4. 注意:

全局变量如果没有进行初始化,那么系统默认会将全局变量初始化为0

5. 存储位置

全局变量存储在静态区中,它会随着程序的启动而创建,随着程序的结束而结束

外部全局变量和内部全局变量

全局变量分为两种:

为了提高数据的安全性,不让别人在其他文件中修改我们的全局变量,C语言提供了另外一个用于修改全局变量的关键字:static

只要用static修饰的全局变量就是内部全局变量,只能在当前文件中使用,这样就可以提高我们全局变量的安全性


static对局部变量的作用

当使用static来修饰局部变量,那么会延长局部变量的生命周期, 并且会更改局部变量存储的位置,将局部变量从栈转移到静态区中。

只要使用static修饰局部变量后,当执行到定义局部变量的代码就会分配存储空间,但是只有程序结束才会释放该存储空间。

static和extern对函数的作用

static对函数的作用

extern对函数的作用

上一篇下一篇

猜你喜欢

热点阅读