ababalai
2021-04-13 12:52
采纳率: 33.3%
浏览 16
已采纳

我又来了,帮我看看这个s怎么有效地定义啊? 这是我一个程序改了之后的[face]monkey2:02

我又来了,帮我看看这个s怎么有效地定义啊? 这是我一个程序改了之后的[face]monkey2:024.png[/face][face]monkey2:024.png[/face][face]monkey2:024.png[/face]
  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • include_iostream_ 2021-04-13 13:18
    已采纳

    把s写在.h里,那么包含该.h的.c文件可以看到该变量声明,反过来则是绝对不行的。(.h包含.c在语法上可能不会报错,但这么做没有意义,通常会引发错误。)你在.h引用s时,s还没声明。

    如果你需要全局变量,也得在头文件进行声明。声明和定义最主要的区别是,声明需要一个extern关键字,而且声明不具有定义效力,但定义具有声明效力。具有定义效力的符号不能重复出现,所以不能在头文件定义,但必须在头文件声明。如果在头文件忘记声明,会报编译错误:找不到标识符;如果在头文件进行定义,会报链接错误:符号重定义(如果仅有一处使用该头文件则不会,但要养成好习惯)。

    评论
    解决 1 无用
    打赏 举报
查看更多回答(1条)

相关推荐 更多相似问题