比如:a.c文件中:doublesqu(doublex){returnx*x;}b.c文件中:#includeexterndoublesqu(doublex);//这里需要加extern吗?按照引用外部变量的规则应该加extern吧。//测试发现可以不加,似乎更常见的做法是不加。是一种约定吗?有没有确定的做法?intmain(){printf("%f",squ(3.0));return0;}
2 回答
呼唤远方
TA贡献1856条经验 获得超11个赞
你要搞清楚extern是干什么用的。它表示externallinkage。这个对于函数是默认的,所以可写可不写。对于变量则必须写。你可以参数这个教程。一般来说,声明都是放在头文件里的,这样你不用在所有用到它的.c文件里都写上一大堆声明,而只需要引入一个头文件,也避免声明得和实现不一致(头文件通常和实现一起分发的)。
添加回答
举报
0/150
提交
取消