1. 程式人生 > >C語言編譯數組中有的加code有的不加,有什麽區別

C語言編譯數組中有的加code有的不加,有什麽區別

hid 比較 嵌入 編碼 系統 itl targe www bsp


uchar code table[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

uchar ds1302[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
都能運行,兩者有什麽區別
C在定義數組時是占用內存空間的,而code是編碼的意思,在定義編碼時是直接分配到程序空間的,編譯後編碼占用的事程序存儲空間而非內存空間。
  在有些時候,定義的數組中包含的元素比較多的時候,數組的所占的存儲空間就會大一些,而不希望其影響內存,而把它安排到編碼空間,一定程度上可以節省內存。
keil中的code表示定義的變量存儲在程序存儲器中,這種變量是只讀的,不可寫,作用主要是節約RAM的使用,嵌入式系統的資源是有限的。

C語言編譯數組中有的加code有的不加,有什麽區別