c语言static修饰的变量
答:那么在file2.c是无法访问到变量a的。原因在于用static对全局变量进行修饰改变了其作用域的范围,由原来的整个工程可见变为本源文件可见。(3)修饰函数 用static修饰函数的话,情况与修饰全局变量大同小异,就是改变了函数的作用域。extern关键字 在C语言中,修饰符extern用在变量或者函数的声明前,用来说明...
答:static 用来说明静态变量。如果是在函数外面定义的,那么其效果和全局变量类似,但是,static定义的变量只能在当前c程序文件中使用,在另一个c代码里面,即使使用extern关键词也不能访问这个static变量。如果是在函数内部定义的,那么这个变量只初始化一次。C语言是一门通用计算机编程语言,应用广泛。C语言的...
答:1、static变量存放在静态存储区,在程序整个运行期间都不释放;而auto变量存放在动态存储区,随着生命周期的结束而立即释放。2、static变量只赋值一次,以后就不用赋值;而auto变量在函数每调用一次都要赋初值。3、如果用户不对static变量赋初值,则默认为0或'\0';而auto变量为不确定值。
答:没有static修饰的函数中的变量,只在函数被执行时占用内存,函数执行完毕后就被销毁,数据也就不存在了,所以每次都要声明,值也就不会变。相关内容:1、static对全局变量的修饰,可以认为是限制了只能是本文件引用此变量。有的程序是由好多.c文件构成。彼此可以互相引用变量,但加入static修饰之后,只能...
答:static变量大概是两种情况 在函数里的static变量意味着这个变量的生存期是全局的,你可以想象它实际上就是在函数外声明的, 当然因为可见范围的原因其他函数不能访问它 在函数外的static变量意思是本地的, 跟不加static的差别就是其他文件不能通过extern来访问这个变量。
答:static int a = 0; // 运行期时初始化一次, 下次再调用时, 不进行初始化工作如下:printf(“%d”,a);a++;} int main(){ staticLocalVar(); // 第一次调用, 输出a=0 staticLocalVar(); // 第二次调用, 记忆了第一次退出时的值, 输出a=1 return 0;} ...
答:在C语言中,全局变量可以是非静态变量的。原因如下:静态变量的关键static对局部变量和全局变量的作用不一样。对于局部变量来说,用static修饰时,该变量在函数调用后的值一直保持上次的结果。对于全局变量来说,用static修饰的全局变量表示这个全局变量只能在当前这个全局变量定义的文件内使用;如果没有static...
答:函数定义所谓“全局变量”的唯一方式就是把变量声明为static。static修饰的变量只会在函数第一次被调用时被初始化一次,并且超出函数作用域后不会被销毁。但其可见性仍然限于函数作用域内,而非全局。
答:c文件之间是可以相互引用的,就像函数一样可以被相互引用。当 变量被 static 修饰的时候( 例如:static int a = 1;),只有文件第一次执行这个语句的时候 a 被赋值成 1,当其他的文件或本文件第二次执行这个语句的时候不改变 a 的值(例如:如果a在后面的代码中 加1,那么这时候执行这条语句时...
答:const是指常数,这种数存放在rom中,也就是硬盘里,只有使用的时候才读取到内存。static类型的是局部静态数据,首先他肯定是局部变量,但是他的生存期是全局的。const数不能被修改,也不能是局部变量。static一般用于局部变量,但是他可以被修改,并且退出引用他的函数体后变量依旧存在,直到下一次引用时...
网友评论:
别温18631806494:
C语言中static修饰变量 -
1988缑钧
: 最主要有两点用途.让一个变量长期有效,而不管其是在什么地方被申明.比如: int fun1() { static int s_value = 0; .... } 那么fun1不管在什么地方被调用,当函数退出后,s_value最后的值将一直会被系统保存(相当于一个全局变量),下次s_...
别温18631806494:
static 修饰的变量 怎么用 -
1988缑钧
: 可以,static在C语言中是表示一个变量为静态变量的,而不是常量,也不是不可变的变量.所谓的静态变量有两种情况,一种是静态全局变量,一种是静态局部变量. 先说静态局部变量:通常情况下,在一个函数中定义一个变量,那么函数退...
别温18631806494:
C语言中static 修饰的变量只能在本文件中使用吗 -
1988缑钧
: 是,因为使用static后变量就具有内部链接了.
别温18631806494:
C语言中由Static 定义的变量的作用范围
1988缑钧
: 关键字static的作用是什么? 这个简单的问题很少有人能回答完全.在C语言中,关键字static有三个明显的作用: •; 在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变. •; 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问.它是一个本地的全局变量. •; 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用.那就是,这个函数被限制在声明它的模块的本地范围内使用. 例子可以参考我的下面URL
别温18631806494:
c语言中为什么要用static声明变量.它的具体作用是什么,请举例说明 -
1988缑钧
: 比如你在一个函数中定义了一个i,你想在每次调用的时候,显示了共调用了多少次,而且你又不想用全局变量,那么你就要定义成static类型的.如果你实现了我说的功能,那你就可以理解static的作用了.
别温18631806494:
C语言中static的作用及C语言中使用静态函数有何好处 -
1988缑钧
: 在C语言中,static关键字有三种用途:1 用于全局变量定义时. 全局变量定义时加上static修饰,表示该变量为静态全局变量.作用域为当前文件.2 用于函数定义或声明.任意函数的定义或声明中包含了static修饰,表示该函数为静态函数,只...
别温18631806494:
c语言 静态变量 -
1988缑钧
: static修饰函数:在修饰非成员函数时表示该函数不是全局函数,而仅供本文件使用;在修饰成员函数时,表示该函数只能调用类的静态成员变量并且该方法可以不必经由实例化的类对象就能够应用;static修饰变量:修饰全局变量时,该变量只...
别温18631806494:
C语言里的static和extern的作用是什么? -
1988缑钧
: 假如有三个文件:a.h, a.c, main.c 在文件a.c中定义一个全局变量和函数: int i = 213; void print(void) { printf("print in a.c"); } 在文件a.h中声明这个全局变量和函数: extern int i;// 加extern声明而不定义,指明这个变量在某处已定义,此处只是...
别温18631806494:
C++里static的作用是什么? -
1988缑钧
: static是静态变量,就是变量值不随函数执行结束而消失,下次调用同一函数时,上次所赋予的值仍存在. const是常量,是不可改变的
别温18631806494:
c语言的static与函数变量 -
1988缑钧
: 你在函数中定义static变量,在定义的时候须得给他赋值,而且在程序运行中,只有第一次调这个函数时你所赋的值才有效果,之后每次调此函数,都不会重新给他赋值了(例如staitc a = 10,下次跑这个函数时不会跑这句话了.).不过你可以在...