详解 extern 引用声明时进行初始化

2610阅读 1评论2014-07-24 jeffasdasd
分类:LINUX


extern char permis = 'Y';        //错误 只能在定义声明中能对变量进行初始化!
错误原因:关键字extern的存在标志着这是一个引用声明,而非定义声明,非定义声明不能进行初始化

声明分为两种:1. int tern = 1;//这种声明称为定义声明(defining declaration)
                        2.extern int tern ;//这种声明称为引用声明(referencing declaration)
                       关键字extern表明该声明不是一个定义,因为extern指示编译器参考其他地方。


声明时加不加extern无所谓,没区别,因为函数默认是extern属性,对于函数声明 加不加extern都可以,但对于变量声明则一定要加 ,extern 为引用声明,对变量初始化只能在定义声明中!
上一篇:C语言的静态变量
下一篇:static 变量为什么只初始化一次(原理)

文章评论