extern char permis = 'Y'; //错误 只能在定义声明中能对变量进行初始化!
错误原因:关键字extern的存在标志着这是一个引用声明,而非定义声明,非定义声明不能进行初始化
声明分为两种:1. int tern = 1;//这种声明称为定义声明(defining declaration)
2.extern int tern ;//这种声明称为引用声明(referencing declaration)
关键字extern表明该声明不是一个定义,因为extern指示编译器参考其他地方。
声明时加不加extern无所谓,没区别,因为函数默认是extern属性,对于函数声明 加不加extern都可以,但对于变量声明则一定要加 ,extern 为引用声明,对变量初始化只能在定义声明中!
阅读(2576) | 评论(1) | 转发(0) |