c语言中的static的用法
时间: 2023-12-03 21:04:12 浏览: 92
C语言中的static关键字主要有以下几种用法:
1. 修饰局部变量,使其在函数调用结束后仍然保持其值不变。
```c
void test() {
static int x = 0;
x++;
printf("%d ", x);
}
int main() {
int i = 0;
while (i < 10) {
test();
i++;
}
return 0;
}
// 输出:1 2 3 4 5 6 7 8 9 10
```
2. 修饰全局变量或函数,使其作用域仅限于当前文件。
```c
static int x = 0; // 修饰全局变量
static void test() { // 修饰函数
x++;
printf("%d ", x);
}
```
3. 修饰函数,使其仅能被当前文件内的其他函数调用。
```c
static void test() {
printf("Hello World!");
}
```
相关问题
c语言中static的用法
在C语言中,static关键字可以用于以下几个方面:
1. 声明静态变量
使用static关键字声明的变量被称为静态变量,与普通变量不同的是,静态变量在程序运行期间只会被初始化一次,而且只能在定义它的函数或文件中访问,不能被其他文件访问。
示例代码:
```
void func()
{
static int count = 0;
count++;
printf("count = %d\n", count);
}
int main()
{
func(); // count = 1
func(); // count = 2
func(); // count = 3
return 0;
}
```
2. 声明静态函数
使用static关键字声明的函数被称为静态函数,与普通函数不同的是,静态函数只能在定义它的文件中访问,不能被其他文件访问。
示例代码:
```
static void func()
{
printf("this is a static function\n");
}
int main()
{
func(); // this is a static function
return 0;
}
```
3. 声明静态全局变量
在文件作用域内使用static关键字声明的变量被称为静态全局变量,与普通全局变量不同的是,静态全局变量只能在定义它的文件中访问,不能被其他文件访问。
示例代码:
```
static int count = 0;
void func()
{
count++;
printf("count = %d\n", count);
}
int main()
{
func(); // count = 1
func(); // count = 2
func(); // count = 3
return 0;
}
```
4. 声明静态类成员
在C++中,使用static关键字可以声明静态类成员,与普通类成员不同的是,静态类成员不属于类对象,而是属于整个类,只有一个副本,可以在不创建对象的情况下访问。
示例代码:
```
class MyClass {
public:
static int count;
};
int MyClass::count = 0;
int main()
{
MyClass::count++;
printf("count = %d\n", MyClass::count);
return 0;
}
```
所以,在C语言中,static关键字的用法主要是用于声明静态变量、静态函数、静态全局变量等,可以用于限制变量或函数的作用域,或者用于记忆化计算等场景。
c语言中 static
在C语言中,`static`是一个关键字,它有以下几种用法:
1. 声明静态变量:在函数内部使用`static`关键字声明的变量称为静态变量,它的作用域只限于该函数,但是它的生命周期却是整个程序运行期间。
2. 声明静态函数:在函数声明时使用`static`关键字,表示该函数只能在本文件中被调用,不能被其他文件调用。
3. 声明静态全局变量:在全局变量前使用`static`关键字,表示该变量只能在本文件中被访问,不能被其他文件访问。
4. 静态断言:在代码中使用`static_assert`关键字,表示在编译期间进行断言,如果条件不成立则编译失败。
以上就是C语言中`static`关键字的几种用法。
阅读全文