多文件编程声明变量问题

多文件编程声明变量问题

https://img1.sycdn.imooc.com//climg/63f19b90094b373213250505.jpg

https://img1.sycdn.imooc.com//climg/63f19b91098a844813810508.jpg

老师,为什么变量已经在头文件中定义了,在第一个图片里需要再次声明,不声明就报错;在第二个图片里访问就不需要声明了呢

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
山行老师 2023-02-21 11:18:49
1) 尽管头文件中可以写定义int a=100//这是定义;
但是一般都禁止这么干,因为头文件只写声明,只能写extern int a或者写int a//这样是声明;
2) 只有在c文件才能写int a = 100,这是规定,不这样干的话头文件被包含2次及以上时就会出现重复定义;
  • 提问者 AmoXiang #1

    好的,谢谢老师

    2023-02-25 11:12:54
  • 第二个图头文件定义变量时并没有使用extern关键词修饰,main方法中调用也没有问题,为什么能直接引用;第一个图头文件中用extern修饰了,但是为什么还要在功能文件中重新声明才能使用,这两个点有点疑惑,希望老师指点下

    2023-04-18 00:55:57
  • 第1张图是标准用法;
    第2张图是在h文件中对全局变量做了定义,不建议这么写,多文件编程容易触发重复定义;
    头文件只写声明,功能文件才写定义。

    2023-04-18 17:43:01
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师