extern,可以在一個文件中引用另一個文件中定義的變量或者函數(shù),下面就結合具體的實例。
首先,引用同一個文件的變量,先寫一個簡單的函數(shù)。
#include
int func();
int main()
{
func(); //1
printf("%d",num); //2
return 0;
}
int num = 3;
int func()
{
printf("%d\n",num);
}
這里一共定義了兩個函數(shù),一個主函數(shù)一個子函數(shù),子函數(shù)里直接打印的num的數(shù)據(jù),要打印數(shù)據(jù)首先要找到定義的數(shù)據(jù),這里定義的num是全局變量所以可以直接打印數(shù)據(jù)。
如果我們用extern進行定義數(shù)據(jù)時需要采用全局變量定義,在其他地方使用,比如我們在主函數(shù)定義了一個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;
}
子函數(shù)
#include
const int num=5;
void func()
{
printf("fun in a.c");
}
這里我們在主函數(shù)定義了一個extern const變量,需要在子函數(shù)的全局變量中定義const int num=5;這樣就可以使用。
extern除了引用另一個文件中的變量外,還可以引用另一個文件中的函數(shù),引用方法和引用變量相似。
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函數(shù)中引用了b.c中的函數(shù)func。因為所有的函數(shù)都是全局的,所以對函數(shù)的extern用法和對全局變量的修飾基本相同,需要注意的就是,需要指明返回值的類型和參數(shù)。
審核編輯:湯梓紅
-
STM32
+關注
關注
2310文章
11162瀏覽量
373535 -
參數(shù)
+關注
關注
11文章
1869瀏覽量
33955 -
函數(shù)
+關注
關注
3文章
4417瀏覽量
67547
發(fā)布評論請先 登錄
關鍵字volatile的含意
interrupt關鍵字使用
Labview 解析dxf文件并顯示
Temu跨境電商按關鍵字搜索Temu商品API的應用及接口請求示例
哪些場合會用到volatile關鍵字?
天眼查平臺關鍵字搜索企業(yè)數(shù)據(jù)API接口技術指南
堆棧的定義,堆棧的使用方法
1688平臺關鍵字搜索商品API接口技術實踐指南
亞馬遜平臺根據(jù)關鍵字搜索商品API接口
亞馬遜 SP-API 深度開發(fā):關鍵字搜索接口的購物意圖挖掘與合規(guī)競品分析
阿里巴巴開放平臺關鍵字搜索商品接口實戰(zhàn)詳解:OAuth2.0 認證落地 + 檢索效率優(yōu)化(附避坑代碼)
阿里巴巴國際站關鍵字搜索 API 實戰(zhàn):從多條件篩選到商品列表高效獲客
錫膏的儲存及使用方法詳解
stm32中常用關鍵字的使用方法
評論