C语言中关键字extern和static的区别是什么?

2025-01-02 18:42:52
推荐回答(3个)
回答1:

你这个问题相当牛,几乎完全没有关系的两个关键字,区别确实不好回答。
联系估计就是都是类型修饰符,区别太多。
一般来说,extern 修饰的是全局变量或者函数,表示外部引用。对于C++语言还有一个特殊用法,extern "C" 表示该段程序应认为是C语言编写。
static 一般表示局部静态变量,可以用在函数内,也可以用在文件内。

回答2:

extern 修饰的是全局变量或者函数,表示外部引用。

static 修饰的是局部静态变量或者函数,可以用在函数内,也可以用在文件内。

回答3:

static 修饰局部变量将其生命期改变为静态生命期,修饰全局变量将其链接属性改为内部链接

extern 修饰的是全局变量或者函数,表示外部引用。对于C++语言还有一个特殊用法,extern "C" 表示该段程序应认为是C语言编写。