分享免费的编程资源和教程

网站首页 > 技术教程 正文

static关键共有多少种用法?具体怎么使用你清楚吗?

goqiw 2024-09-29 16:46:23 技术教程 29 ℃ 0 评论

最名不符实的关键字 -- static

1、修饰变量(局部和全局变量)

①静态全局变量:

在全局数据区分配内存;未经初始化的静态全局变量会被程序自动初始化为0(自动变量的值是随机的,除非它被显式初始化);

作用域仅限于变量被定义的文件中。

全局变量和全局静态变量的区别:

1)全局变量是不显式用static修饰的全局变量,但全局变量 默认是静态的,作用域是整个工程,在一个文件内定义的全局变量,在另一个文件中,

通过extern 全局变量名的声明,就可以使用全局变量。

2)全局静态变量是显式用static修饰的全局变量,作用域是所在的文件,其他的文件即使用extern声明也不能使用。

② 静态局部变量

static int j;

void fun1 (void)

{

static int i = 0;

i++;

}

void fun2 (void)

{

j = 0;

j++;

}

int main(void)

{

int k;

for(k = 0; k < 10; k++)

{

fun1();

fun2();

}

return 0;

}

2 修饰函数

1、静态函数

在函数的返回类型前加上static关键字,函数即被定义为静态函数。静态函数与普通函数不同,它只能在声明它的文件当中可见,

不能被其它文件使用。其它文件中可以定义相同名字的函数,不会发生冲突。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表