導航:首頁 > 源碼編譯 > c51多文件編譯中全局變數怎麼聲明

c51多文件編譯中全局變數怎麼聲明

發布時間:2024-12-08 05:38:53

『壹』 C51程序設計中在定義變數類型時一般要求定義成什麼

C語言中,變數一般有兩種屬性,分別是:存儲類別、數據類型。
例如定義一個變數:static unsigned char var = 0; 上述語句中,static(靜態的)為變數的存儲類別,unsigned char(無符號字元型)為變數的數據類型,var為變數名,初始化值為0。
下面給你說明幾點。
存儲類別:即變數在代碼運行期間的存儲方式。c語言提供了4種,分別是:auto(自動的)、static(靜態的)、extern(外部的)、register(寄存器的)。
默認情況下,如果不加存儲類別,則該變數是auto類的,該關鍵字可以省略,其它三個不能省。static的用法是,定義洞梁滲一個局部變數,該變數只進行一次初始化,在程序運行期間一直佔用著內存,每次調用完畢都保持本次調用完後得到的值(而auto調用完一次即釋放內存,下次調用用從新進行初始化)。extern:一個變數被定義成全局變數,加上該關鍵字,意思是提醒編譯器,該變數是在別的C文件中(即你想再一個C文件中調用另外一個C文件的變數,需用該關鍵字進行引入)。register:渣沒定義一個變數為該存儲類型,建議編譯器將該變數存放在CUP內部寄存器中,以便該變數頻繁調用而提高代碼運行速度。注意,它是建議型的,一般用在循環次數多的地方,因為變數一般存放在內存中,每次CUP訪問它都得跑到內存去提取,次數多了,影響運行速度。放在內部寄存器就快多了(當然放不放我們不知道,只是建議編譯器這么做),這種變數也是用完就釋放。
數據類型:C語言提供了三種基本數據類型:char型 int型 float型。
默認情況下,char/int/float是指有符號的,即前面都省略了signed關鍵字,如果需要定義成無符號型的,需在前面加上不可省略的unsigned關鍵字。char佔一個位元組,int佔2個位元組(在有的環境下是4個位元組),float佔4個。表納脊示的數據范圍也比較明確,char一個位元組8位,共256種狀態,有符號的最高位表示符號,0為正,1為負,其餘7位表示數字位,2的7次方。int型16位 的,一樣。float型的數據必須要有小數點,一般float能表示6~7位有效數字。上述的數據類型中,如果范圍還不夠大,還可以定義成long型,即長整型,佔4個位元組,而浮點型可以定義成double型,可以表示16~17為小數,當然,它也只佔四個位元組。
其它還有指針型的變數,還有構造型的如結構體、共同體、枚舉等等。學單片機的還有bit型的。C語言概念很多,但都很簡單。重點是在用。世界上沒有純記憶的技術,只有一邊用一邊記憶的技術。
看到那麼多頭疼了吧?沒事,小夥子,哥看好你。
木棉城路過。

『貳』 c51多文件編譯中全局變數怎麼聲明

多個C文件的情況下,一般有多個對應的H文件。
假設AAA.C中定義了全局變數int abc;,那麼在對應的H文件aaa.h中定義 extern int abc;
如果在BBB.C中需要使用變數abc,那麼在BBB.C頭上#include "aaa.h"即可
另外,如果沒有aaa.h存在,那麼在BBB.C頭上寫extern int abc;也可以。

『叄』 單片機Keil C51 C語言多文件如何使用全局位變數跪拜!!

extern就可以。在一個文件里定義:
bdata m;
sbit x=m^1;
然後在另一個文件里聲明:
extern bdata m;(如果不使用m可以不聲明。)

extern bit x;
這樣就可以使用了。如果變數較多,建議樓上的方法,用全局頭文件。

閱讀全文

與c51多文件編譯中全局變數怎麼聲明相關的資料

熱點內容
soft編譯器 瀏覽:113
三軸車床的編程指令 瀏覽:71
天生敏感pdf 瀏覽:565
西瓜星球伺服器怎麼刷鑽石 瀏覽:838
php生成chm 瀏覽:658
解釋程序和編譯程序產生目標嗎 瀏覽:609
dos命令rem 瀏覽:371
plc程序員水平高低 瀏覽:854
linux伺服器linux雲 瀏覽:373
大腳重置命令 瀏覽:130
app怎麼引導頁面 瀏覽:946
pdf轉換成w0rd 瀏覽:569
壓縮空氣屬於什麼能量類型 瀏覽:881
上海交警app怎麼付費 瀏覽:601
暗黑2怎麼切換伺服器 瀏覽:20
安卓如何玩港服游戲 瀏覽:350
程序員如何換個城市生活 瀏覽:145
JS開發PDF 瀏覽:285
app格式不對怎麼辦 瀏覽:96
32位定時器單片機 瀏覽:332