static 变量 和 static

时间:2021.08.21 发布人:tuiguang6f

static 变量 和 static

已解决问题

谷歌tuiguang6f用户在2021.08.21提交了关于“瓦罐static 变量 和 static”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2025-02-27T05:50:12。希望大家能够帮助她。

详细问题描述及疑问:期待您的答案,谢谢你帮我,祝你快乐,愿你事事如意 !

希望以下的回答,能够帮助你。

第1个回答

用户名:匿名用户  

1)、变问答量放程序全局存储区调翻用候保持原赋值点与堆栈变量堆变量区别

2)、变量用sta设对与完练外距欢格帝绝tic告知编译器自仅仅止料方局现茶定察胞容变量作用范围内见点与全局变量区别

Tips:

A.为普才这钟准叫决道若全局变量仅单C文件访缩问则变量修改静态全局变量降低模块间耦合度;

B.若全局变量仅由单函数访问则变量改该函数静态局部变量降低模块间耦合度;

C.设计使用访问态全局变量、静态全局变量、静态局部变量函数需要考虑重入问题;

D.我需要重入函数我定要避免函数使用static变量(函数称:带政缺云黄案失草酒练依愿**存储器功能函数)

E.函数必须要使用static变量情况:比某函数返值指针类型则必须static局部变量址作返值若auto类型则返错指针

函数前加static使函数静态函数处s果tatic含义指存储式指函数作用域仅局限于本文件(所称**函数)使用**函数处:同编写同函数用担自定义函数否与其文件函数同名

扩展析:术语static着寻历史.起初C引入关键字s溶洲tatic表示退块仍存局部变量随staticC第二种含义:用表夫威衡示能其文件访问全局变量函数避免引入新关键字所歌尽抓复参与正攻讨皮都仍使用static关键字表示第二种含义C++重用关键字并赋予与前面同第三种含义:表示属于类属于类任何特定象变量函数(与J民销儿苦乐提元发**a关键字含义相同)

全局变量、静态全局变量、静态局部举顶几本室村变量局部变量区别变量:全局变量、静态全局变量、静态局部变量局部变量

按存储区域全局变量、静态全局变量静态局部变量都存放内存静态存储区域局部变量存放内存栈区

按作用域全局变量整工程文件内都效;静态全局变量定义文件内效;静态局部变量定义函数内效程序仅配内存函数返该变量消失;局部变量定义函数内效函数返失效全局变量(外部变量)说明前再冠static

构静态全局变量全局变量本身静态存储式

静态全局变量静态存储式

两者存储式并同两者区别虽于非静态全局变量作用域整源程序

源程序由源文件组非静态全局变量各源文件都效

静态全局变量则限制其作用域

即定义该变量源文件内效

源程序其源文件能使用由于静态全局变量作用域局限于源文件内能该源文件内函数公用

避免其源文件引起错误

析看

局部变量改变静态变量改变存盐指八玉储式即改变存期全局变协变前与序服右量改变静态变量改变作用域

制使用范围

static函数与李套深普通函数作用域同仅本文件前源文件使用函数应该说明**函数(static)**函数应该前源文件说明定义于前源文件外使用函数应该文件说明要使用些函数源文件要包含文件

全局变量静态变量没手工初始化则由编译器初始化0局部变量值知