static修饰局部变量
答:直到程序运行结束以后才释放。2、static修饰全局变量的时,这个全局变量只能在本文件中访问,不能在其它文件中访问,即便是extern外部声明也不可以。3、static修饰一个函数,则这个函数的只能在本文件中调用,不能被其他文件调用。Static修饰的局部变量存放在全局数据区的静态变量区。
答:静态全局变量在声明它的整个文件都是可见的,而在文件之外是不可见的;其它文件中可以定义相同名字的变量,不会发生冲突;2.静态局部变量 在局部变量前,加上关键字static,该变量就被定义成为一个静态局部变量。通常,在函数体内定义了一个变量,每当程序运行到该语句时都会给该局部变量分配栈内存。但随着...
答:可以,static在C语言中是表示一个变量为静态变量的,而不是常量,也不是不可变的变量。所谓的静态变量有两种情况,一种是静态全局变量,一种是静态局部变量。先说静态局部变量:通常情况下,在一个函数中定义一个变量,那么函数退出之后,这个变量就消失了,即使你第二次调用这个函数,里面的变量也会被...
答:1)内存中的位置:静态存储区 2)初始化:未经初始化的局部静态变量会被程序自动初始化为0(自动对象的值是任意的,除非他被显示初始化)3)作用域:作用域仍为局部作用域,当定义它的函数或者语句块结束的时候,作用域随之结束。注:当static用来修饰局部变量的时候,它就改变了局部变量的存储位置,从...
答:static是用来修饰类成员的啊,不能用来修饰局部变量。static意为静态修饰符,也就是说一个类在编译的时候,这个类中用static修饰的变量就已经存在了,而public int m(){}是在类实例化的时候才会有的。如果将static放入public int m(){} 方法中,就得出结论:static int i存在了, public int m()...
答:局部变量不能用任何修饰词来修饰(private,public,static等)
答:static静态的可以用来修饰的结构:主要用来修饰类的内部结构(随着类加载而加载)属性、方法、代码块、内部类。static的注意点:在静态的方法内,不能使用this关键字、super关键字。关于静态属性和静态方法的使用,需要从生命周期的角度去理解。当static关键字修饰局部变量时,只会对该变量初始化一次。当...
答:因为局部变量的使用范围没有static范围广,如果可以修饰的话,那就限制了这个范围,这样设计会有很多不便之处。
答:由于静态全局变量的作用域局限于一个源文件内,只能为该源文件内的函数公用, 因此可以避免在其它源文件中引起错误。static变量和普通变量的区别:static全局变量与普通全局变量区别:static全局变量只初使化一次,防止在其他文件单元中被引用;static局部变量和普通局部变量区别:static局部变量只被初始化一次,...
答:可以,static在C语言中是表示一个变量为静态变量的,而不是常量,也不是不可变的变量。所谓的静态变量有两种情况,一种是静态全局变量,一种是静态局部变量。像在VB,C#,C,C++,Java,PHP,Objective-C,JavaScript中我们可以看到static作为关键字和函数出现,在其他的高级计算机语言如FORTRAN、ALGOL、...
网友评论:
谭促19619532847:
请问static能不能修饰局部变量? -
47630弘承
:局部变量不能用任何修饰词来修饰(private,public,static等)
谭促19619532847:
关键字static(静态)可以修饰局部变量吗 -
47630弘承
: 声明局部变量 前面加上 static ,就是声明静态变量.静态变量,全局唯一,只能在代码块内访问,进程结束前不会释放内存.局部变量,在跳出代码块,内存即释放.
谭促19619532847:
貌似Java里面static不能修饰局部变量 -
47630弘承
: 是的.static是说明这个东西是属于整个类的 而局部变量的作用域只能在他所属的{}之内.不可能是属于类或对象的. 所以矛盾,故static不能修饰局部变量public class Test {public static int a=1;//成员变量,允许public static void main(String[] args) {static int b=1;//错误}}
谭促19619532847:
在C语言中,怎样用static来声明局部变量??(要仔细的回答哦!!)
47630弘承
: 很简单啊.函数里面声明的static变量就是静态局部变量.比如: void fun() { static int n=0; }
谭促19619532847:
在C语言中怎样用static来声明局部变量要仔细的回答哦
47630弘承
:静态局部变量属于静态存储类别,在静态存储区内分配存储单元.在程序整个运行期间都不释放, 静态局部变量在编译时赋初值,即只赋初值一次.有时希望函数中的局部变量的值在函数调用结束后不消失而保留原值,这时就可以使用static变量,比如输出1到6的阶乘: #include<stdio.h> short fac(short n) { static short f=1; return f=f*n; } main() { short i=0; while(i!=6) printf("%d\t",fac(++i)); } 使函数中f的值得以保留可以省掉每次从头开始计算花费的资源.
谭促19619532847:
static有什么作用
47630弘承
: static用法: 1、修饰函数的局部变量: 特点:有默认值0,只执行一次,运行一开始就开辟了内存,内存放在全局 2、修饰全局函数和全局变量: 特点:只能在本源文件使用 3、修饰类里面的成员变量: 特点:和1差不多,定义多个static y,但只有一个y,不进入类的大小计算,不依赖于类对象的存在而存在(可直接调用,要进行外置声明) 4、修饰类的成员函数: 特点:f():括号里无this指针,只能调用他的本类静态函数和他的静态变量,即是用static修饰过的不依赖于类对象的存在而存在(可不进行外置声明,直接调用)
谭促19619532847:
求教,java主方法的变量是不是不可以用static修饰?(static不能用来修饰局部变量) -
47630弘承
: java中方法名称可以用static修饰,java中的类变量也就是成员变量可以用static修饰,但是局部变量不能用static修饰,也就是方法里或者方法的参数都不能用static修饰~~ 希望对你有帮助.
谭促19619532847:
static修饰的局部变量或者全局变量一定要初始化吗 -
47630弘承
: 实践是最好的老师. 不同的编译器会有不同的处理,所以你的示例没有做初始化,一般的编译器会默认为0,也有的会提示警告.