2.1局部变量的生命周期延长:使用static修饰的局部变量,在程序运行时一直存在,不会随着函数执行结束而销毁,直到程序结束才会被销毁。这样可以在多次调用函数时保持变量的值不变,起到记忆的作用。 2.2全局变量的生命周期延长:使用static修饰的全局变量,生命周期同样延长到整个程序运行期间。这样可以在不同的函数中共享同一个...
1、static修饰变量会延长局部变量的生命周期 当static修饰变量的时候,变量会被存储在静态区,存储出在静态区的变量会在程序刚开始运行时就完成初始化,也是唯一的一次初始化,直到程序运行结束以后才进行变量释放。 2、static修饰的全局变量或者函数具有隐藏特性 我们都知道,当同时编译多个文件时,全局变量或者函数都具有全局...
1.延长局部变量的生命周期,延长到整个程序结束 2.限定作用域,static修饰的变量或函数只能在当前文件中访问 例子,见下面extern的例子 #include <stdio.h> int a = 10; void my_test1(){ int num = 10; num++; printf("num = %d\n", num); } void my_test2(){ static int num = 10; //num占用...
在static修饰函数局部变量的时,其修饰的静态局部变量只执行初始化一次,延长了局部变量的生命周期,直到程序运行结束以后才释放,但不改变作用域。 用static修饰静态局部变量时:1、变量的存储区域由栈变为静态常量区。2、变量的生命周期由局部调用结束变为程序运行结束。(且只初始化一次)3、变量的作用域不变。 修饰全局...
static在 c语言中的作用:第一、在修饰变量的时候,static修饰的静态局部变量只执行一次,而且延长了局部变量的生命周期,直到程序运行结束以后才释放。第二、static修饰全局变量的时候,这个全局变量只能在本文件中访问,不能在其它文件中访问,即便是extern外部声明也不可以。第三、static修饰一个函数,则...
extern int a;// 声明一个外部变量 int main ( ) { a = 10; return 0; } int a;// 定义一个外部变量 局部变量 static修饰局部变量: 1、延长局部变量的生命周期,程序结束的时候,局部变量才会被销毁 2、并没有改变局部变量的作用域 3、所有的函数都共享着一个变量 ...
② 这个函数内部的某个变量值是固定不变的 static修饰局部变量: ① 延长局部变量的生命周期:程序结束的时候,局部变量才会被销毁 ② 并没有改变局部变量的作用域 1#include <stdio.h>23intmain()4{5staticdoublepi =3.14;67doublezc =2* pi *10;89inta =0;10a++;11printf("a的值是%d\n", a);//112...
1、修饰局部变量: 1、用于延长变量的生命周期:相对于普通局部变量,是保存在栈上,函数一旦退出或者结束,变量就会被释放掉;二次访问的会出现新的初始值;使用static关键字修饰后的变量,该变量始终保存在静态的数据段中;直到整个程序退出,该变量才被释放;
也就是在不同作用域中如有同名的局部变量,则就会以最近原则进行访问。 全局结构体: 这个跟变量差不多,写在函数外面就是一个全局的结构体了,如下: 结构体的指针: 结构体指针的定义与初始化: 这个也跟变量一样,直接使用一下: 通过结构体指针访问结构体成员: ...
局部变量:当static修饰局部变量时,该变量存储在全局静态区,只在初始化时赋值一次,即使在函数结束后,其值依然存在,并且可以在函数内被修改。这改变了存储区域并延长了变量的生命周期。 函数:使用static修饰函数,表明该函数的作用范围仅限在当前.c文件中,对外不可见,起到了隐藏的作用。