久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 9193|回復: 0
收起左側

文件間調用變量(extern,include)

[復制鏈接]
ID:98924 發表于 2015-12-9 02:42 | 顯示全部樓層 |閱讀模式

文件間調用變量(extern,include)



   首先要搞清楚的是.h頭文件中都是一些聲明性的語句,是不分配內存的,所以頭文件中有對函數的聲明,有define語句,有沒有實例化的結構體定義,但是沒有對變量的定義(比如 int a),有的只是對外變量的聲明(extern int a)。


  因為全局變量一般定義在原文件.c中(假設是a.c),對于一個文件調用另一個文件的全局變量,我們不能用#include包含源文件而只能包含頭文件,所以常用的方法是用extern  int a來聲明外部變量。   還有一種方法是可以是在a.c文件中定義了全局變量int global_num ,可以在a.h頭文件中寫extern int global_num 這樣其他源文件可以通過include a.h來聲明她是外部變量就可以了.


  對于一個文件調用另一個文件中的函數,最常用的是在.h頭文件中配上extern聲明函數,其他源文件可以通過#include該頭文件來聲明函數并且在調用該函數。  也可以是在a.c中定義該函數int fun()后 ,在 b.c文件中使用extern int  fun()來聲明該函數是外部定義后并實行調用。


  此外,extern修飾符可用于指示C或者C++函數的調用規范。比如在C++中調用C庫函數,就需要在C++程序中用extern “C”聲明要引用的函數。這是給鏈接器用的,告訴鏈接器在鏈接的時候用C函數規范來鏈接。主要原因是C++和C程序編譯完成后在目標代碼中命名規則不同。



回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 精品一区国产 | 亚洲 中文 欧美 日韩 在线观看 | 综合久久综合久久 | 国产在线一区二区三区 | 久久久久国产 | 老头搡老女人毛片视频在线看 | 国产国拍亚洲精品av | 久久精品国产免费高清 | 一区二区精品在线 | 国产yw851.c免费观看网站 | 久久91| 亚洲国产成人精品久久久国产成人一区 | 一区二区三区中文字幕 | 91精品久久久久久久久 | 国产精品久久久久久久久久免费看 | 蜜桃视频在线观看免费视频网站www | 99久久久99久久国产片鸭王 | 一区二区三区不卡视频 | 久久久久久久一区二区三区 | 毛片站 | 午夜视频网站 | www.色综合 | 亚洲高清在线 | 91影院在线观看 | 午夜在线观看免费 | 精品久久久久久 | 91.xxx.高清在线| 福利视频一区二区三区 | 亚洲视频观看 | 免费精品视频在线观看 | 日韩视频一区在线观看 | 成人免费小视频 | 欧美精品一二区 | 免费一看一级毛片 | 日韩成人在线观看 | 欧美精品中文字幕久久二区 | 国产成人亚洲精品 | 日韩一区二区免费视频 | 视频一区二区在线 | 亚洲第一网站 | a级大片 |