流年_cth 2023-08-16 17:03 采纳率: 100%
浏览 192
已结题

怎么在一个c文件中调用另一个c文件静态全局变量

我在一个c程序文件中定义了一个静态全局变量和一个函数,这个函数用到了这个静态全局变量,而且对这个函数在头文件进行声明,静态全局变量不声明,让其他c文件调用这个函数,为什么可以成功,静态变量不是只能在本文件中调用吗?

  • 写回答

4条回答 默认 最新

  • 关注

    这正是全局static变量的用法, 隐藏变量, 防止污染全局空间.
    *
    函数定义在C文件中, 调用本文件的static变量, 此变量不会被其它C文件看到.
    *
    而此函数声明在H文件中, 其它含有此头文件的C文件可调用此函数, 此函数调用的static变量仍属于自己的翻译单元, 对外仍然隐藏, 哪怕其它C文件有相同名称的变量, 也不会混淆.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    1人已打赏
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 8月25日
  • 已采纳回答 8月17日
  • 创建了问题 8月16日

悬赏问题

  • ¥15 C++ MFC 标准库 加密解密解惑
  • ¥15 两条数据合并成一条数据
  • ¥15 Mac电脑安装了Charles,证书已经信任,电脑还是没网,找小伙伴帮看一下
  • ¥15 Ubuntu虚拟机设置
  • ¥15 comsol三维模型中磁场为什么没有“速度(洛伦兹项)”这一选项
  • ¥15 electron 如何实现自定义安装界面
  • ¥15 关于#linux#的问题:子进程C运行“ls –l”命令,且显示“C运行ls-l命令”(语言-c语言)
  • ¥15 vs code配置c语言遇到这个问题
  • ¥15 vscode调试编译找不到gcc,只有cl,但是检查cmd是对的,控制面板的路径也更改了
  • ¥20 access中怎么分割分别获取一下图中的值