c语言static变量特点
答:一、主体不同 1、auto变量:是一个C/C++语言存储类型,仅在语句块内部使用。2、static变量:在计算机编程领域指在程序执行前系统就为之静态分配存储空间的一类变量。二、作用域范围不同 1、auto变量:初始化可为任何表达式,其特点是当执行流程进入该语句块的时候初始化可为任何表达式。2、static变量:...
答:可以,static在C语言中是表示一个变量为静态变量的,而不是常量,也不是不可变的变量。所谓的静态变量有两种情况,一种是静态全局变量,一种是静态局部变量。像在VB,C#,C,C++,Java,PHP,Objective-C,JavaScript中我们可以看到static作为关键字和函数出现,在其他的高级计算机语言如FORTRAN、ALGOL、COB...
答:static 用来说明静态变量。1、如果是在函数外面定义的,那么其效果和全局变量类似,即static说明的变量可以在当前c程序文件中使用。2、如果是在函数内部定义的,那么这个变量只初始化一次,即使再次调用这个函数,这个static变量也不会再次被初始化,于是,这个变量的取值就会一直保存着,我们再次调用该函数时...
答:在 C 语言中,使用关键字 static 定义的变量是静态变量,具有以下几个特点:静态变量在程序执行过程中不会被自动销毁,除非手动释放。静态变量的作用域只限于在其声明的文件内。静态变量的初始化只会在程序的第一次执行时进行,之后就不会再进行初始化。所以,当你在使用 Keil 软件编译并执行一个 C ...
答:静态局部变量属于静态存储方式,它具有以下特点:(1)静态局部变量在函数内定义,但不像自动变量那样,当调用时就存在,退出函数时就消失。静态局部变量始终存在着,也就是说它的生存期为整个源程序。(2)静态局部变量的生存期虽然为整个源程序,但是其作用域仍与自动变量相同,即只能在定义该变量的函数内...
答:答:在C语言中,static主要定义全局静态变量,定义局部静态变量,定义静态函数 一、 定义全局静态变量 :在全局变量前面加上关键字static,该全局变量变成了全局静态变量。全局静态变量有以下特点:(1) 在全局数据区内分配内存 (2) 如果没有初始化,其默认值为0 (3) 该变量在本文件内...
答:(1)定义格式: static 数据类型 内部变量表;(2)存储特点 1)静态内部变量属于静态存储。在程序执行过程中,即使所在函数调用结束也不释放。换句话说,在程序执行期间,静态内部变量始终存在,但 其它函数是不能引用它们的。2)定义但不初始化,则自动赋以"0"(整型和实型)或'\0'(字符型...
答:static int n; //定义静态全局变量 void main(){ n=20;cout<<n<<endl;fn();} void fn(){ n++;cout<<n<<endl;} 静态全局变量有以下特点:该变量在全局数据区分配内存;未经初始化的静态全局变量会被程序自动初始化为0(自动变量的值是随机的,除非它被显式初始化);静态全局变量在声明它...
答:static变量大概是两种情况 在函数里的static变量意味着这个变量的生存期是全局的,你可以想象它实际上就是在函数外声明的, 当然因为可见范围的原因其他函数不能访问它 在函数外的static变量意思是本地的, 跟不加static的差别就是其他文件不能通过extern来访问这个变量。
答:static在c语言中是私有、静态意思。用于在函数中声明“静态变量”用,在每一次调用后,该变量并不在函数返回时立即释放,变量中保存的值,可以保留到下一次调用时继续有效。私有就是隐藏。static函数只能声明后的本文中调用。static全局变量只能声明后的本文中调用。static局部变量只能声明后的本函数调用 静态...
网友评论:
令眨18076002274:
C语言静态存储(static)类别的特点 -
62397满永
: 就像:fun(int a) { static int i = 0; i++; return a+i; }第1次调用的时候i++后返回a+i,这时i值是1;第2次调用的时候i++后返回a+i,这时i值就变成2了
令眨18076002274:
static这个函数
62397满永
: static 是C中很常用的修饰符,它被用来控制变量的存储方式和可见性 static 声明的变量在C语言中有两方面的特征: 1)、变量会被放在程序的全局存储区中,这样可以在下一次调用的时候还可以保持原来的赋值.这一点是它与堆栈变量和堆变量...
令眨18076002274:
C语言中static是做什么用的? -
62397满永
: 在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条.(1)第一个作用:隐藏.当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性.为理解这句话,我举例来说明.我们要同时编译两个源...
令眨18076002274:
static在C和Java中的区别. -
62397满永
: static声明的变量在C语言中有两方面的特征: 1)、变量会被放在程序的全局存储区中,这样可以在下一次调用的时候还可以保持原来的赋值.这一点是它与堆栈变量和堆变量的区别. 2)、变量用static告知编译器,自己仅仅在变量的作用范围内...
令眨18076002274:
c语言中为什么要用static声明变量.它的具体作用是什么,请举例说明 -
62397满永
: 比如你在一个函数中定义了一个i,你想在每次调用的时候,显示了共调用了多少次,而且你又不想用全局变量,那么你就要定义成static类型的.如果你实现了我说的功能,那你就可以理解static的作用了.
令眨18076002274:
静态变量static的作用是什么? -
62397满永
: 一旦声明为静态变量,在编译时刻开始永远存在,不受作用域范围约束,但是如果是局部静态变量,则此静态变量只能在局部作用域内使用,超出范围不能使用,但是它确实还占用内存,还存在.
令眨18076002274:
关于C语言的变量的储存类别 -
62397满永
: 举个例子,我们在C语言中定义数组a[10],这就是静态存储,也就是说不知道这个数组够不够用,程序都是分配给它这么大,在编译以后程序就要分配这么多的内存.然后程序运行,够用程序就执行下去,不够用了程序就保错,因为先前就给你分配那么多,不够用了也没办法这是固定的.动态存储的意思是先前分配给某个变量的内存是不固定的,在程序的运行过程中根据需要分配所需资源,还拿数组举例,可以用指针再运行时再次分配长度(int *)malloc(sizeof(int)*5).静态执行的快,因为不需要执行过程中分配资源.但是若资源事先不能预估,那就要用动态了.
令眨18076002274:
c语言for循环里,static变量也能保存值吗?为什么? -
62397满永
: 在循环体内和在函数内的static变量都是静态局部变量.静态局部变量有以下特点:1.该变量在全局数据区分配内存;2.静态局部变量在程序执行到该对象的声明处时被首次初始化,即以后的函数调用不再进行初始化; 3.静态局部变量一般在声明处初始化,如果没有显式初始化,会被程序自动初始化为0;4.它始终驻留在全局数据区,直到程序运行结束.但其作用域为局部作用域,当定义它的函数或语句块结束时,其作用域随之结束;所以,在for循环类的static变量在下一次进入循环的时候,值是保存了的,为你上一次退出循环时候的值
令眨18076002274:
C++和Java中Static的区别 -
62397满永
: C++ 中static的含义要比iava广得多.static变量本身有种“共享”的属性,并且共享它的“用户”的权限都是可读可写.其中若有一位改变了它的值,其他的“用户”也只能接受这种改变.对于c++来说:1.全局静态变量或者局部静态变量可以让它们相应作用域中的“用户”来使用;2.类中的静态成员变量和静态成员函数可以用类名访问或者用对象访问(如果权限允许的话),而且其静态成员变量仅能在类外初始化:variable_type CLASSNAME::variable_name = value.对于Java而言,因为Java严格遵守opp思想,static仅体现在类的成员变量和方法上.用法同2,但是其初始化可以在类内部完成.
令眨18076002274:
静态变量static的作用 -
62397满永
: static关键字在C语言中用于声明一个静态的局部变量. 作用: 有时希望函数中的局部变量的值在函数调用结束后不消失而继续保留原值,即其占用的存储单元不释放,在下一次再调用该函数时,该变量已有值(就是上一次函数调用结束时的值).这时就应该指定该局部变量为“静态局部变量”,用关键字static进行声明.用静态存储要多占内存(长期占用不释放,而不能像动态存储那样一个存储单元可以先后为多个变量使用,节约内存),而且降低了程序的可读性,因此若非必要,不要多用静态局部变量.