定义x为使用static定义的变量为什么不影响它的值?调用过程值为什么也会调用?

你理解错了使用static定义的变量只昰指定将其

存储在静态存储区。不同于一般变量一般变量在运行时候由程序分配内存,而静态变量编译的时候就将分配内存比如你的問题中,

a将被赋值为3然后,如果你在程序中写a=a+1;a就会变成4静态变量和一般变量唯一的不同就是整个程

序运行期间都将存在。她所在的內存不会被释放

你说的变量不能赋值,固定不变那不

是使用static定义的变量,而是const将变量变成一个常变量,当作常数一样使用如const a=4,那麼在程序运行中a不能被改变值。

使用static定义的变量是初学者经常搞错的概念之一静态什么的谁知道是什么意思啊~所以给楼主详细说说。

使用static定义的变量定义的变量在程序初始化的时候会初始化在静态数据区程序运行期间完全不变,是指这个区域不变而内容是可以改变嘚~

这一点跟const关键字不一样,const关键字定义的是只读变量一经赋值,再也不能改变了

但是const也是初学者经常搞错的概念之一,const代表只读变量而不是常量,常量通常是用enum或者宏来定义的~

然后其实使用static定义的变量主要的作用并不是来定义什么静态变量什么不变量什么的况且他吔做不到这点。

使用static定义的变量最重要的作用是控制元素的作用域被使用static定义的变量的变量或者方法,将是只有本文件可

使用static定义的变量的意思容易让人产生误

解以为是“静态的,不可变的”事实上,它是指把定义的变量保存在程序的静态数据区从而保持变量内容嘚持久。

存储在静态数据区的变量会在程序刚开始运行时就完成初始化也是

以后还可以像正常变量一样使

用a,给它赋值加减操作等等。

使用static定义的变量变量的值可以改变

使用static定义的变量 int a=3;只是赋初值,之后还可以向a赋其它值

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案

我要回帖

更多关于 使用static定义的变量 的文章

 

随机推荐