extern,可以在一个文件中引用另一个文件中定义的变量或者函数,下面就结合具体的实例。
首先,引用同一个文件的变量,先写一个简单的函数。
#include
int func();
int main()
{
func(); //1
printf("%d",num); //2
return 0;
}
int num = 3;
int func()
{
printf("%d\n",num);
}
这里一共定义了两个函数,一个主函数一个子函数,子函数里直接打印的num的数据,要打印数据首先要找到定义的数据,这里定义的num是全局变量所以可以直接打印数据。
如果我们用extern进行定义数据时需要采用全局变量定义,在其他地方使用,比如我们在主函数定义了一个extern变量我们在其他地方使用时需要线对变量进行赋值操作,否则找不到相关的num。
#include
int func();
int main()
{
func(); //1
extern int num;
printf("%d",num); //2
return 0;
}
int num = 3;
int func()
{
printf("%d\n",num);
}
下面再说extern与const使用问题 。
如果我们要使用一个全局变量而且是不能改变的,那我们需要用const配合使用,代码如下:
#include
int main()
{
extern const int num;
printf("%d",num);
return 0;
}
子函数
#include
const int num=5;
void func()
{
printf("fun in a.c");
}
这里我们在主函数定义了一个extern const变量,需要在子函数的全局变量中定义const int num=5;这样就可以使用。
extern除了引用另一个文件中的变量外,还可以引用另一个文件中的函数,引用方法和引用变量相似。
mian.c
#include
int main()
{
extern void func();
func();
return 0;
}
common.c
#include
const int num=5;
void func()
{
printf("fun in a.c");
}
这里main函数中引用了b.c中的函数func。因为所有的函数都是全局的,所以对函数的extern用法和对全局变量的修饰基本相同,需要注意的就是,需要指明返回值的类型和参数。
审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
STM32
+关注
关注
2313文章
11191浏览量
374597 -
参数
+关注
关注
11文章
1870浏览量
34030 -
函数
+关注
关注
3文章
4421浏览量
67826
发布评论请先 登录
相关推荐
热点推荐
关键字volatile的含意
关键字volatile有什么含意?
一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心
发表于 12-23 06:33
interrupt关键字使用
中断是嵌入式系统中重要的组成部分,这导致了很多编译开发商提供一种扩展—让标准C支持中断。具代表事实是,产生了一个新的关键字__interrupt。下面的代码就使用了__interrupt关键字去定义
发表于 12-22 09:36
Labview 解析dxf文件并显示
21
966.0371542567061
31
0.0
0
然后对照关键字进行一一解析,直线的定义就是A点和B点,解析出来之后就可以直接画图。
多段线的解析和画图和这个类似,就不赘述了。接着是圆弧
发表于 12-01 11:28
Temu跨境电商按关键字搜索Temu商品API的应用及接口请求示例
Temu跨境电商按关键字搜索Temu商品API的应用及接口请求示例 Temu跨境电商按关键字搜索Temu商品API的应用场景 Temu跨境电商平台按关键字搜索Temu商品API的主要应用场景包括但不
哪些场合会用到volatile关键字?
当你理解 volatile关键字的含义之后,你就能明白,其实很多场合都能用到 volatile关键字。
1.全局变量单片机开发,难免会用到全局变量。一些初级工程师,更是全局变量满天飞。这种情况下
发表于 11-25 08:19
天眼查平台关键字搜索企业数据API接口技术指南
一、接口概述 天眼查提供的企业搜索API接口,支持通过关键字查询企业工商信息、经营状态等核心数据。该接口采用RESTful架构,返回JSON格式数据。 二、接口认证 调用需使用API密钥认证
堆栈的定义,堆栈的使用方法
和使用;
对于8086CPU,进出堆栈的只能是2字节的数据。
2 堆栈的使用方法
常用的堆栈相关指令包括PUSH POP PUSHF和POPF,语法如下:
PUSH 源操作数;将指定操作数入栈保护
POP
发表于 11-21 06:49
1688平台关键字搜索商品API接口技术实践指南
/com.alibaba.product/alibaba.product.search/ 必备参数: { "keyword": "手机", // 搜索关键字 "pageNo": 1, // 页码 "pageSize": 20, // 每页数量 "access_token": "xxx" // 认证令牌 } 二、响应
亚马逊平台根据关键字搜索商品API接口
在电商开发中,集成亚马逊平台的商品搜索功能是常见需求。通过亚马逊的Product Advertising API(PAAPI),开发者可以根据关键字高效检索商品信息。本技术帖将逐步介绍如何调用
亚马逊 SP-API 深度开发:关键字搜索接口的购物意图挖掘与合规竞品分析
本文深度解析亚马逊SP-API关键字搜索接口的合规调用与商业应用,涵盖意图识别、竞品分析、性能优化全链路。通过COSMO算法解析用户购物意图,结合合规技术方案提升关键词转化率,助力卖家实现数据驱动决策,安全高效优化运营。
阿里巴巴开放平台关键字搜索商品接口实战详解:OAuth2.0 认证落地 + 检索效率优化(附避坑代码)
在 B2B 电商数据对接中,阿里巴巴开放平台的关键字搜索商品接口(alibaba.aliindex.search)是获取批发商品、供应商数据的核心通道。但多数开发者会卡在OAuth2.0 认证断连
阿里巴巴国际站关键字搜索 API 实战:从多条件筛选到商品列表高效获客
在跨境电商数据采集场景中,通过关键字精准搜索商品列表是基础且核心的需求。本文将聚焦阿里巴巴国际站的关键字搜索接口,详细介绍如何构建多条件搜索请求、处理分页数据、解析商品列表信息,并提供可直接复用的 Python 实现方案,帮
IEC 62353中常用的术语和定义
本文详细解读IEC 62353标准中的关键术语,包括被测设备(DUT/EUT)、应用部分(B/BF/CF型)、泄漏电流、微电击与宏电击等定义,帮助理解医疗电气设备安全测试要求。
锡膏的储存及使用方法详解
锡膏是一种常用的焊接辅助材料,广泛应用于电子、电器、通讯、仪表等行业的焊接工艺中。正确的储存和使用方法对于保证锡膏的品质和焊接效果至关重要。本文将就锡膏的储存和使用方法进行详细介绍,希
stm32中常用关键字的使用方法
评论