1. 🌐 修饰全局变量:static关键字用于限制全局变量的作用域,使其仅在声明该变量的文件中可见。 🔒 修饰局部变量:static用于将局部变量存储在静态区,这样它们只会被初始化一次,而不是每次函数调用时。 📚 修饰函数:static可以限制函数只能在声明该函数的文件中被调用。 🏆 修饰成员变量:static修饰的成员变量成...
(1)在修饰变量的时候,static 修饰的静态局部变量只执行初始化一次,而且延长了局部变量的生命周期,直到程序运行结束以后才释放。 (2)static 修饰全局变量的时候,这个全局变量只能在本文件中访问,不能在其它文件中访问,即便是 extern 外部声明也不可以。 (3)static 修饰一个函数,则这个函数的只能在本文件中调用,不能...
static修饰的函数叫做静态函数,根据其出现的位置可分为2种: 静态函数出现在类里的称为静态成员函数: 类的静态成员(变量和方法)属于类本身,在类加载的时候就会分配内存,可以通过类名直接去访问,类的静态成员函数不会访问或者修改任何对象(非static)数据成员。类的非静态成员(变量和方法)属于类的对象,所以只有在类的...
static int count = 0; //静态变量 static int get_last_node(List *Head);//定义静态函数 二者的作用域都仅仅在文件List.c中。如果main函数在static int get_last_node(List *Head) 之前定义,那么就应该在头文件后面用语句: static int get_last_node(List *Head);//定义静态函数进行声明。 如果main定义...
2.静态全局变量和修饰静态函数的作用是一样的,一般合并为一种。(这是比较多的分法)。 C++ 语言的 static 关键字有二种用途: 当然以上的几种,也可以用在c++中。还有额外的两种用法: 1.静态数据成员:用于修饰 class 的数据成员,即所谓“静态成员”。这种数据成员的生存期大于 class 的对象(实体 instance)。静态...
static 是 C/C++ 中很常用的修饰符,它被用来控制变量的存储方式和可见性。 1.1 static 的引入 我们知道在函数内部定义的变量,当程序执行到它的定义处时,编译器为它在栈上分配空间,函数在栈上分配的空间在此函数执行结束时会释放掉,这样就产生了一个问题: 如果想将函数中此变量的值保存至下一次调用时,如何实现...
static函数在内存中只有一份,普通函数在每个被调用中维持一份拷贝。 2、STATIC作用总结 作用1:隐藏与隔离的作用 对全局变量使用static修饰, → 只在本文件中使用 对函数使用static修饰 → 只能在本文件引用 作用2:保持变量内容的持久性 希望函数中局部变量的值在函数调用结束之后不会消失,而仍然保留其原值。即它所...
2.修饰普通函数,表明函数的作用范围,仅在定义该函数的文件内才能使用。在多人开发项目时,为了防止与他人命名函数重名,可以将函数声明为static; 3.修饰成员变量,修饰成员变量是所有的对象只保存一个变量,而且不需要生成对象就可以访问该成员,static类成员不像普通的类数据成员,static类数据成员独立于一切类对象存在。sta...
在C语言中,static关键字主要有以下作用: 1、static修饰变量会延长局部变量的生命周期 当static修饰变量的时候,变量会被存储在静态区,存储出在静态区的变量会在程序刚开始运行时就完成初始化,也是唯一的一次初始化,直到程序运行结束以后才进行变量释放。 2、static修饰的全局变量或者函数具有隐藏特性 ...
在类中,使用`static`修饰的函数被称为静态成员函数。它们属于类,而不属于对象,因此会被所有对象共享。与普通成员函数不同,静态成员函数没有`this`指针,因此无法访问非静态的函数和变量,只能访问静态的成员。 3. 静态数据成员的优势 相对于全局变量,静态数据成员有以下优势: ...