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

如题所述

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

static 修饰的是局部静态变量或者函数,可以用在函数内,也可以用在文件内。
第2个回答  2012-08-03
static 修饰局部变量将其生命期改变为静态生命期,修饰全局变量将其链接属性改为内部链接

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