当前位置: 首页 > news >正文

C语言| extern的用法作用

C语言| 局部变量、全局变量

extern定义的变量,只对全局变量有用。

掌握extern的用法及其作用。extern主要用于在不同.c文件间扩展全局变量的作用范围。

扩展全局变量的使用范围,操作方法:

1 在一个文件内扩展全局变量的使用范围

全局变量的使用范围,只在定义处到文件结束。在引用前使用关键字extern对该变量进行“外部变量声明”,即 extern int a;  有这个声明,就可以合理使用全局变量。

2 全局变量扩展到其他文件中去使用

一个C程序可以由多个.c文件组成。

Q:如果要在一个文件中,引用另一个文件中定义的全局变量,该怎么做?

A:

i 两个文件中都分别用extern对全局变量a,作“外部变量声明”。extern int a;

ii 如果是引用其他文件中的函数,直接把对函数的声明拷贝过来,就可以使用了。

因为函数默认为extern,但是实际编程中,会单独把函数声明写在一个.h头文件中,然后在要调用该函数的文件中,使用#include 包含该头文件即可。

3 extern int a;  //C语言中允许多次声明,但有效的只有一个。

同一个.c文件中,对同一个函数进行多次声明也是允许的,但起作用的只有一个。

http://www.dtcms.com/a/187870.html

相关文章:

  • TB67S109AFTG, TB67S109AFNG是一款采用PWM斩波器的两相双极步进电机驱动器内置有时钟输入解码器。采用BiCD工艺制造
  • java刷题基础知识
  • 如何通过 Windows 图形界面找到 WSL 主目录
  • 玩转ChatGPT:DeepSeek实战(统一所在地格式)
  • EMQX v5.0通过连接器和规则同步数据
  • STM32 内存
  • 网页常见水印实现方式
  • 牛客周赛96补题 D F
  • 机器学习第八讲:向量/矩阵 → 数据表格的数学表达,如Excel表格转数字阵列
  • 数据集-目标检测系列- 杨桃 数据集 Starfruit>> DataBall
  • 深入学习Zookeeper的知识体系
  • KV cache 缓存与量化:加速大型语言模型推理的关键技术
  • RobotxR1:通过闭环强化学习在大语言模型上实现具身机器人智能
  • c++ 基于范围的for循环
  • keepalived+lvs
  • uniapp+vue3+uview来开发我们的项目
  • mysql常用方法
  • 【PostgreSQL数据分析实战:从数据清洗到可视化全流程】金融风控分析案例-10.3 风险指标可视化监控
  • Stapi知识框架
  • 在服务器排查java某个线程导致CPU飙高教程
  • 软件I2C
  • MCP-RAG 服务器:完整设置和使用指南
  • 图片的require问题
  • 前端工程化:从 Webpack 到 Vite
  • React+Webpack 脚手架、前端组件库搭建
  • 华为鸿蒙电脑能否作为开发机?开发非鸿蒙应用?
  • 力扣第156场双周赛
  • Angular | 利用 `ChangeDetectorRef` 解决 Angular 动态显示输入框的聚焦问题
  • linux入门学习(介绍、常用命令、vim、shell)
  • Leetcode 3543. Maximum Weighted K-Edge Path