c语言static的使用

爱在指尖 3个月前 已收到1个回答 举报

她爱的他 4星

共回答了412个问题采纳率:90.5% 评论

在C语言中,static 不仅可以用来修饰变量,还可以用来修饰函数,使用 static 修饰的变量, 称为静态变量。

一、static修饰局部变量——静态局部变量

结论:static 修饰局部变量改变了变量的生命周期,让静态局部变量出了作用 域依然存在,到程序结束,生命周期才结束。

static 本质上是改变了变量的存储类型,从栈区到了静态区。

(拓展:内存被划分为三个区域:

1.栈区:存放 局部变量、函数的参数等局部的、临时的变量

2.堆区:动态内存分配的

3.静态区:全局变量、static修饰的静态变量)

二、static修饰全局变量——静态全局变量

结论:一个全局变量被static修饰,使得这个全局变量只能在本源文件内使用,不能在其他源文件中使用。(同一个项目中的其他源文件内都不可使用)

全局变量,在其他源文件内部可以被使用,是因为全局变量具有外部链接属性,但是被static修饰之后,就变成了内部链接属性,其他源文件就不能链接到这个静态的全局变量了。

三、static修饰函数——静态函数

总结:一个函数被static修饰,使得这个函数只能在本源文件内使用,不能在其他源文件内使用。

本质:static是将函数的外部链接属性变成了内部链接属性,和static修饰全局变量一样。

2小时前

50
可能相似的问题

猜你喜欢的问题

热门问题推荐

Copyright © 2024 微短问答 All rights reserved. 粤ICP备2021119249号 站务邮箱 959505@qq.com