首页 > 编程知识 正文

c语言静态函数(C语言中static输出结果)

时间:2023-05-05 15:27:13 阅读:77250 作者:499

使用静态修饰的变量/函数称为静态成员变量/函数

静态在c语言中的用法主要有:

1 .修饰局部变量

2 .修饰函数和全局变量

1 .静态限定局部变量对于static限定局部变量,该变量存储在静态存储区中,生命周期结束整个程序的执行。

初始定义静态局部变量时必须初始化,并且只能初始化一次。 如果不初始化,编译器将自动赋值为0。 (也就是说,如果重复调用同一函数,则在第一次调用中初始化,在第二次调用中不执行变量初始化的语句。)

特点:static局部变量”记忆性”与生存期的”全局性”

记忆性主要是指函数被调用两次时,第二次调用进入时,可以保持第一次结束时的值。

# includeiostreamvoidstaticlocalvar () {静态int a=0; printf('%d ',a ),在运行过程中初始化一次,在第二次调用时没有进行初始化工作; A; }int main () { staticLocalVar ); //首次调用,输出a=0静态localvar (;//第二次调用,输出a=1返回0; }注意事项:

1、“记忆性”。 程序的执行重要的是再现性,但静态变量的记忆性破坏了这种再现性,执行结果可能因时刻而异。

2、“生存期”全局性和唯一性。 常规local变量的存储区域分配给堆栈。 静态具有全局唯一性特征,每次调用时分配的空间可能不同,而每次调用时访问同一内存,导致重要问题,导致不可重入性

static限定全局变量或函数时,主要限制全局变量或函数的范围,而不是限制其存储方法,因此也称为内部函数。 此时,对于外部全局变量,不是是否存在static关键字,而是其存储区域全部在静态存储中,生存期全局。 此时的静态只起到作用域限制的作用,将作用域限定在本模块内部。 使用内部函数的好处是,在不同的人编写不同的函数时,不需要担心自己定义的函数是否与其他文件中的函数同名。

文章: https://blog.csdn.net/y 780465649/article/details/52155641

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