首页 > 编程知识 正文

函数static(回调函数和普通函数的区别)

时间:2023-05-04 22:47:08 阅读:76251 作者:2466

静态函数和普通函数的区别

用静态限定的函数仅限于本源文件,不能从本源文件以外的代码文件中调用

默认情况下,常规函数为extern。 这意味着可以从其他代码文件中调用函数

如果在函数的返回类型前加上static,则函数被定义为静态函数。

常规函数的定义和声明默认为extern,但静态函数仅在声明的文件中显示

因此,可以避免其他源文件中发生错误

从以上分析可以看出,将局部变量更改为静态变量后,更改了他的保存方法,即更改了他的生存期。

仅用于当前源文件的函数必须说明为内部函数,内部函数必须在当前源文件中说明和定义。

对于当前源文件以外使用的函数,必须在头文件中说明在使用这些函数的源文件中包含头文件。

内存中只有一个静态函数,and (堆栈)中存在本地变量,每次调用普通静态函数时都会维护一个复制程序

全局变量存在于(静态区域),动态申请存在于(堆)中

静态全局变量和常规全局变量

都是静态存储方式

区别在于,非静态全局变量的范围是整个源程序,如果一个源程序由多个源文件组成,则非静态全局变量对每个源文件都有效。

静态全局变量限制作用域。 这意味着它只在定义变量的源文件中有效,不能在同一源程序的其他文件中使用。

静态全局变量与常规全局变量的区别在于,静态全局变量初始化一次,下次根据上次的结果防止其他文件单元引用。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。