找回密码
 注册
关于网站域名变更的通知
查看: 288|回复: 2
打印 上一主题 下一主题

C语言extern问题 不太明白请教下大家

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-2-18 09:39 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
这个是tftled.c  D# t8 Q4 s9 Z- p# B/ {5 l

/ V4 `6 N, Z" ?0 x  s下面的是tftled.h: o" {, T- h( Z3 L/ c! |

: J- k; t0 r% @: G7 ~8 v1 g: W/ G* Y这个是 main.c, y& c2 W: }! w* g6 l% l4 G

2 h% y4 a- F: @  u  q8 \- g; W想问下 编译的时候 这个数组和变量i 都需要加上 extern 才行,
; Y" w5 v2 t, U5 N9 A7 a为什么头文件里,函数sum不需要前面加extern?2 D1 j! K% G5 z
! ?! S: t3 Q+ [; T# w5 g, M

* M0 c+ N% }* v$ v, Y- Q9 K! J(函数没什么意义 随便写的)
) C! E$ x( d) N) `( F7 g: l

该用户从未签到

2#
发表于 2022-2-18 09:57 | 只看该作者
extern  是引用外部已经声明的变量( o2 h; l( O6 a+ C1 J& s; U2 E
通常是在一个项目中引用另一个 C 文件声明的变量,所以理论上这个 .h 文件应该是被另一个 C文件 include 而不是被这个 C文件 include, 感觉上,这几个文件,被不同的人修改过,而修改的人也是半吊子。

该用户从未签到

3#
发表于 2022-2-18 10:09 | 只看该作者
可以在多个c文件里面定义static int i;但是每个文件里面的i都是自己文件的,你永远无法访问其他c文件里面的i,只能访问自己文件里面的那个。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-9 09:07 , Processed in 0.156250 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表