c语言中的静态变量
答:可以,static在C语言中是表示一个变量为静态变量的,而不是常量,也不是不可变的变量。所谓的静态变量有两种情况,一种是静态全局变量,一种是静态局部变量。像在VB,C#,C,C++,Java,PHP,Objective-C,JavaScript中我们可以看到static作为关键字和函数出现,在其他的高级计算机语言如FORTRAN、ALGOL、COB...
答:static在c语言中是私有、静态意思。用于在函数中声明“静态变量”用,在每一次调用后,该变量并不在函数返回时立即释放,变量中保存的值,可以保留到下一次调用时继续有效。私有就是隐藏。static函数只能声明后的本文中调用。static全局变量只能声明后的本文中调用。static局部变量只能声明后的本函数调用 静态...
答:静态变量在内存中存放的位置是栈区。C语言中定义的静态变量存放在栈区,动态分配的内存空间位于堆区。静态变量在内存空间中只有一份,被类的多个对象共享。局部变量在栈空间上分配,这个局部变量所在的函数被多次调用时,每次调用这个局部变量在栈上的位置都不一定相同。局部变量也可以在堆上动态分配,但是...
答:可以,static在C语言中是表示一个变量为静态变量的,而不是常量,也不是不可变的变量。所谓的静态变量有两种情况,一种是静态全局变量,一种是静态局部变量。先说静态局部变量:通常情况下,在一个函数中定义一个变量,那么函数退出之后,这个变量就消失了,即使你第二次调用这个函数,里面的变量也会被...
答:一、形式不同:静态变量是在定义的时候,有static 修饰的变量,形式为static TYPE var_name = init_value;动态变量,形式为TYPE var_name = init_value;即没有static 修饰,其中的=init_value均可省略。二、作用不同:动态全局变量:作用域为整个项目,即最终编译成可执行文件的所有文件中均可以使用...
答:1、定义上,静态变量比动态变量多一个关键字static,比如:动态变量:int i;静态变量:static int i;2、动态变量在子程序中,每次调用时都会从零开始,不会保留原有数据,静态变量调用时原有值不会发生改变,比如:main(){ int i;for(i=0;i<5;i++)fun();//fun1();} void fun() //...
答:c语言中静态变量作常量使用,用于存储常数。可用const,constant或final等关键字标识,其值就会在编译时设定,并且无法在运行时改变。编译器通常将静态常量与文本一起置于目标文件的文本区域,而非常量初始化数据则置于数据区;而如若有需要,有些编译器还可选择为其开辟专用区。对于静态全局变量来说,针对某...
答:对,一个运行的程序属于一个进程,进程是由操作系统管理的,程序结束了,该程序所占用的资源会由操作系统来回收。静态变量的静态:变量占用的存地址不释放,也就是说它的地址它从头到尾一内直占着,容不给其他内存单元占用而已,其本身的值是可以改变的。动态的变量:比如调用函数体里定义的变量,在...
答:在C语言中,对变量的存储类型说明有以下四种:1、auto 自动变量 2、register 寄存器变量 3、extern 外部变量 4、static 静态变量 所谓存储类型是指变量占用内存空间的方式,也称为存储方式。变量的存储方式可分为“静态存储”和“动态存储”两种。1、静态存储变量通常是在变量定义时就在存储单元并...
答:1 动态全局变量:作用域为整个项目,即最终编译成可执行文件的所有文件中均可以使用动态全局变量。生命周期为从程序运行到程序退出,即贯穿整个运行时间。无显式初始化时默认初始化值为0。2 静态全局变量:作用域为当前文件,从定义/声明位置到文件结尾。生命周期为从程序运行到程序退出,即贯穿整个运行时间...
网友评论:
袁剑19837259626:
C语言中的静态变量到底是怎么回事?不是说static 后面变量值是不变的,直到程序结束才释放,那后面的有涉 -
371石骂
: 静态变量的静态是指变量占用的内存地址不释放,也就是说它的地址它从头到尾一直占着,不给其他内存单元占用而已,其本身的值是可以改变的.动态的变量的话,比如调用函数体里定义的变量,在函数执行后便释放出去,把有用的地址资源贡献给其他量,释放以后如果你用指针来打印这个地址的值的话,就很有可能不是原来的值了.
袁剑19837259626:
C语言静态变量 -
371石骂
: 静态变量就是会保存上次计算留下来的值,,而一般变量 如 你计算得到 a=1, 你关闭程序再打开, 不执行程序,直接查a的值,,它是随机的,如果是静态变量的话,a还是等于1. 这就是区别
袁剑19837259626:
c语言 静态变量 -
371石骂
: static修饰函数:在修饰非成员函数时表示该函数不是全局函数,而仅供本文件使用;在修饰成员函数时,表示该函数只能调用类的静态成员变量并且该方法可以不必经由实例化的类对象就能够应用;static修饰变量:修饰全局变量时,该变量只...
袁剑19837259626:
c语言的静态变量的格式是什么? -
371石骂
: 声明格式是 static 类型 变量名=初始值; 如 static int a=2; 注意静态变量在整个程序运行过程中,只初始化1次.如果没有指定初始值,则该静态变量的初值是0(如果是字符串则是空串,仅包含结束标记).如 static int a; 执行后a的值是0(但注意,这条语句只能执行1次) 另外,由于静态变量存储的内存区域是在静态区,不在堆栈里面,因此所有的静态变量初始化之后,该段内存中的存储值(也就是静态变量的值)将不会被销毁,也就是说这个变量值会一直存在(不受作用域限制),直到整个程序结束
袁剑19837259626:
C语言的中静态变量 -
371石骂
: 前面的答案都是错的,正确的答案应该为 i=10,,j=1 解释: 首先你要明确什么是静态定义static 你理解“静态变量只接受第一次赋值”说明你对static还有一点认知,但是不完全正确 本题的关键在于 “静态全局变量 j 的定义” 还有你对 “赋初值”...
袁剑19837259626:
C语言中静态变量与动态变量的定义与区别 -
371石骂
: 静态变量的初值是在编译时赋予的,不是在程序运行期间对其初始化,即只初始化一次,如果在定义静态变量时不赋初值,编译系统自动赋予初值(数值变量赋0,字符变量赋空字符),而对动态变量,编译系统不会自动赋初值.定义一个静态整型变量staticinta定义一个动态整型变量autointa或者inta若省略auto所定义的变量为动态变量.
袁剑19837259626:
C语言中的静态变量到底是怎么回事?不是说static 后面变量值是不变的,直到程序结束才释放,那后面的有涉及到该变量的式子,该变量应如何取值?
371石骂
: 这个问题应该从变量生存期讨论. 一般自动变量的生存期会随着函数调用的结束而结束.而静态变量函数调用结束时仍然存在,直到整个程序运行结束时才结束. 具体的内容和实例可以仔细看一下书上的详细讲解.
袁剑19837259626:
c语言中什么是静态变量,什么是动态变量? -
371石骂
: 全局变量声明之前加上static,就是静态全局变量.全局变量和静态全局变量都是静态存储的;在存储上无区别.区别在于他们的作用域;全局变量的作用域是整个源程序,当源程序有多个源文件组成时,全局变量在各个源程序文件都是有效的;而静态全局变量怎被限制了作用域,只在定义该变量的源文件内有用在同一程序的其他源文件不能使用! 还有静态全局变量只初始化一次,防止在其他源文件调用!而全局变量可以再其他源文件初始化!!
袁剑19837259626:
c语言中静态变量是怎么用的
371石骂
: #include"stdio.h" void main() { int f(int); int a=2,i; for(i=0;i<3;i++) printf("%d ",f(a)); } int f(int a) { auto int b=0; //aubo为自动变量的标志,则b为自动变量 static int c=3;//static 为静态局部变量的标志,则c为静态局部变量 b=b+1; //b为自动变量,...
袁剑19837259626:
C语言中静态变量在程序运行过程中一直是保持着,只到程序结束释放. -
371石骂
: 首先,要保证程序运行必须要保证硬件即CPU能正常的取指,运算,如果断电,个人认为是程序的中止,而不是程序结束,运行的程序也可以成为一个进程,进程结束了,即程序失去了活性,可以理解为程序结束...