本文目录一览:
- 1、C语言中static是做什么用的?
- 2、c语言中static说明是什么意思?
- 3、c语言中static 到底有啥作用啊?
- 4、在C语言中static有什么含义
- 5、static在c语言中是什么意思
- 6、c语言static?
C语言中static是做什么用的?
最主要有两点用途。
让一个变量长期有效,而不管其是在什么地方被申明。比如:
int fun1()
{
static int s_value = 0;
....
}
那么fun1不管在什么地方被调用,当函数退出后,s_value最后的值将一直会被系统保存(相当于一个全局变量),下次s_value再被用到时,也即当fun1()再次被调用时,s_value初始值将是最近被保存过的值(请注意s_value初始化操作只会被执行一次,即上述s_value =0 这个语句)。
2.避免多个文件使用了相同的变量名而导致冲突
比如有多个文件,分别由几个人独立开发的。假定他们在各自的文件中定义相同的“全局”变量名(仅仅指在他们独自的文件中全局),当系统集成时,由于他们使用了名字一样的“全局”变量,导致有难于遇见的问题。解决这个问题方便的做法就是在各自文件中,在相同的全局变量申明前加上static修饰符。这样系统就会为他们分配不同的内存,互不影响了。
c语言中static说明是什么意思?
在C语言中,static关键字的作用如下:
1、在修饰变量的时,static修饰的静态局部变量只执行一次,而且延长了局部变量的生命周期,直到程序运行结束以后才释放。
2、static修饰全局变量的时,这个全局变量只能在本文件中访问,不能在其它文件中访问,即便是extern外部声明也不可以。
3、static修饰一个函数,则这个函数的只能在本文件中调用,不能被其他文件调用。Static修饰的局部变量存放在全局数据区的静态变量区。
扩展资料:
static关键字在C语言、C++、java中的作用有着相似之处,但也存在差异:
一、C++的static用法:
1、面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。
2、在类中,static可以用来修饰静态数据成员和静态成员方法
静态数据成员
(1)静态数据成员可以实现多个对象之间的数据共享,它是类的所有对象的共享成员,它在内存中只占一份空间,如果改变它的值,则各对象中这个数据成员的值都被改变。
(2)静态数据成员是在程序开始运行时被分配空间,到程序结束之后才释放,只要类中指定了静态数据成员,即使不定义对象,也会为静态数据成员分配空间。
(3)静态数据成员既可以通过对象名引用,也可以通过类名引用。
静态成员函数
(1)静态成员函数和静态数据成员一样,他们都属于类的静态成员,而不是对象成员。
(2)非静态成员函数有this指针,而静态成员函数没有this指针。
(3)静态成员函数主要用来方位静态数据成员而不能访问非静态成员。
二、java的static用法:
1、声明为static的变量称为静态变量或类变量。可以直接通过类名引用静态变量,也可以通过实例名来引用静态变量,但最好采用前者,因为后者容易混淆静态变量和一般变量。
2、声明为static的方法称为静态方法或类方法。静态方法可以直接调用静态方法,访问静态变量,但是不能直接访问实例变量和实例方法。静态方法中不能使用this关键字,因为静态方法不属于任何一个实例。
参考资料来源:百度百科-static(计算机高级语言)
c语言中static 到底有啥作用啊?
在C语言中,static的作用有三个,分别如下:
1、隐藏;
当同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。
2、保持变量内容的持久;
存储在静态数据区的变量会在程序刚开始运行时就完成初
始化,也是唯一的一次初始化。
3、默认初始化为0;
在静态数据区,内存中所有的字节默认值都是0x00,某些
时候这一特点可以减少程序员的工作量。
在C语言中static有什么含义
是不止一个意思,要看用到哪里。比如:
static int a;
int b;
void func(void)
{
static int c;
int d;
}
在这里,a与b都是全局变量,二者的区别是,b可以被别的文件使用,a只能在本文件中使用,这是static对全局变量的作用。
c和d的区别是,d是一个自动变量,func函数执行完后,d会自动被释放。但c却不会被释放,下一次调用func函数时,c的值会保留上次的值继续使用。
static在c语言中是什么意思
static在c语言中是私有、静态意思。
用于在函数中声明“静态变量”用,在每一次调用后,该变量并不在函数返回时立即释放,变量中保存的值,可以保留到下一次调用时继续有效。
私有就是隐藏。static函数只能声明后的本文中调用。static全局变量只能声明后的本文中调用。static局部变量只能声明后的本函数调用
静态就是一直存在,相对于每次调用动态分配而言。static函数未验证是否每次调用代码地址都是一致的。static全局变量生命周期到程序或进程结束。static局部变量生命周期到程序或进程结束。
static的使用和作用
静态全局变量。全局变量前面加static,修饰全局变量为静态全局变量,改变全局变量的可见性。静态函数。函数返回类型前加static,修饰函数为静态函数,改变函数的可见性。
类的静态成员。类成员前加static,修饰类的成员为类的静态成员,实现多个对象之间的数据共享,并且使用静态成员不会破坏封装性,也保证了安全性。类的静态函数,类函数前加static,修饰类的函数为静态函数,减少资源消耗,不需要实例化就可以使用。
c语言static?
您好,你的问题,我之前好像也遇到过,以下是我原来的解决思路和方法,希望能帮助到你,若有错误,还望见谅!展开全部
static 用来说明静态变量。
1、如果是在函数外面定义的,那么其效果和全局变量类似,即static说明的变量可以在当前c程序文件中使用。
2、如果是在函数内部定义的,那么这个变量只初始化一次,即使再次调用这个函数,这个static变量也不会再次被初始化,于是,这个变量的取值就会一直保存着,我们再次调用该函数时,仍是保存的上一次函数调用时保存的结果。
扩展资料:
c语言中的static有三个主要作用:
1、隐藏性。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。
2、static可以保持变量内容的持久,当static定义变量在函数内部时,改变量值的生命周期和全局变量相同。非常感谢您的耐心观看,如有帮助请采纳,祝生活愉快!谢谢!