您好,登錄后才能下訂單哦!
1 . 用預(yù)處理指令#define 聲明一個常數(shù),用以表明1年中有多少秒(忽略閏年問題)
#define SEC_YEAR(365*24*60*60UL) 32位設(shè)備int=429467295 16位設(shè)備int=65536,八位就更不用說了,加UL第一為了兼容各種設(shè)備的處理位,第二因為宏可能作為一個計算單位當(dāng)乘上一定倍數(shù)后難免超出int
2 . 寫一個"標(biāo)準(zhǔn)"宏MIN ,這個宏輸入兩個參數(shù)并返回較小的一個。
#define MIN(x,y) ((x)<(y)?(x):(y))
前面為何加(x) (y) 防止MIN()宏嵌套 因為<的優(yōu)先級比:大(還有位運算符)
3. 預(yù)處理器標(biāo)識#error的目的是什么?
當(dāng)編譯時遇到#error 會生成一錯誤提示并停止編譯,這個東西有點像當(dāng)你做錯事然后家長對你說的話一樣,可能這個錯誤不會導(dǎo)致程序崩潰,只是一些操作如程序定義int類型你卻輸入char這時候你通過一個判斷句檢測然后跳到#error中
4. 嵌入式系統(tǒng)中經(jīng)常要用到無限循環(huán),你怎么樣用C編寫死循環(huán)呢?
While(1)
For(;;)
5. 用變量a給出下面的定義
a) 一個整型數(shù) int a
b)一個指向整型數(shù)的指針 int *a
c)一個指向指針的的指針,它指向的指針是指向一個整型數(shù)int **a (猜的)
d)一個有10個整型數(shù)的數(shù)組 int a[10]
e) 一個有10個指針的數(shù)組,該指針是指向一個整型數(shù)的。 int *a[10]
f) 一個指向有10個整型數(shù)數(shù)組的指針 int (*a)[10] (猜的)
g) 一個指向函數(shù)的指針,該函數(shù)有一個整型參數(shù)并返回一個整型數(shù) int *a(int)
h) 一個有10個指針的數(shù)組,該指針指向一個函數(shù),該函數(shù)有一個整型參數(shù)并返回一個整型數(shù)
int *a[10](int)
6. 關(guān)鍵字static的作用是什么?
1,Static為靜態(tài)關(guān)鍵字,1)在子函數(shù)中其作用是定義一個變量它只在子函數(shù)有效,并且只一次性賦值,其下次調(diào)用還是其值 這里有點像(const) 2)在子模塊中用它定義的子函數(shù)只能被子模塊調(diào)用(內(nèi)連接)(此點像在java中的類中的static 定義的函數(shù)一樣。
,2,在內(nèi)存層面,static可以把一個全局變量變成一個局部變量,把一個全局函數(shù)變成局部靜態(tài)函數(shù)(外鏈接變成內(nèi)連接),當(dāng)程序大的時候這個方法很有用可以很有的預(yù)防整個工程的函數(shù)重名,但這個方法不能徹底解決重名問題。
7.關(guān)鍵字const有什么含意?
簡單的說:Const 意為“常量”即從定義完后不能改變的量,
其實這個const定義的量可以改變,因為在編譯的時候const沒有被特定的標(biāo)志出來只要騙過編譯器就可以改變了,但程序員這樣定義了就表示這個量沒有改變的價值,你只要用的時候調(diào)用即可
下面的聲明都是什么意思?
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。