一、陣列宣告
int a; 乙個指向整型數的指標
int **a; 乙個指向指標的指標,指向的指標指向乙個整型數
int a[10]; 有10個整型數的陣列
int *a[10];有10個指標,指向整型數的
int (*a)[10];10個整型數陣列的指標
int (*a)(int);指向乙個函式的指標,函式引數為整型數,返回值為整型數
int (*a[10])(int);10個指標的陣列,指標指向乙個函式,函式引數為整型數,返回值為整型數
二、static的作用
1、在函式體,乙個被宣告的靜態變數在這一函式被呼叫過程中維持其值不變。
2、在模組內,static變數可以被模組內函式訪問,但不能被模組外函式訪問。即不能被其他檔案使用
三、const
1、並不是意味著常數,而是意味著」唯讀「:常數不需要分配記憶體空間
2、易讀易懂
四、volatile
1、volatile變數可能會被意想不到的改變,優化器會小心滴重新讀取這個變數的值,
2、並行裝置的硬體暫存器(如狀態暫存器)
乙個中斷服務子程式中會訪問到的非自動變數???
多執行緒應用中被幾個任務共享的變數
3、乙個引數可以是const還可以是volatile,原因:const意味著程式不應該試圖去修改它,但它自身會被意想不到的改變,如唯讀的狀態暫存器
4、乙個指標也可以是volatile;例子:乙個中斷服務子程式返回乙個指向乙個buf指標時。
五、訪問固定的記憶體位置
int *p; p = (int *)0x67a9;*p = 0xaa66
六、isr
1、中斷服務程式不能返回乙個值,也不能傳遞引數,
2、有些編譯器/處理器不允許在isr中做浮點運算,isr也應該短而有效率
七、當表示式中存在有符號型別和無符號型別時所有的運算元都
自動轉換為無符號型別
八、注意處理器字長!unsigned int c = ~0 ,而不是unsigned int c = 0xffff
九、i節點表共有13個塊號,前10個塊號是檔案前10塊的存放位址,這10個塊號能給出乙個至多10塊長的檔案的邏輯結構,檔案將以塊號在磁碟位址表中出現的順序依次取得相應的塊。當檔案長於10塊時又怎樣呢?磁 盤位址表中的第11、12、13項分別給出乙個塊號,這個塊號指出的塊中含有256個塊號。
嵌入式面試題
15 typedef 在c語言中頻繁用以宣告乙個已經存在的資料型別的同義字。也可以用預處理器做類似的事。例如,思考一下下面的例子 define dps struct s typedef struct s tps 以上兩種情況的意圖都是要定義dps 和 tps 作為乙個指向結構s指標。哪種方法更好呢?...
嵌入式面試題
1.main int ptr int a 1 printf d d a 1 ptr 1 這段程式的輸出是 a 2 2 b 2 1 c 2 5 d 以上均不是 2.考查自加操作 main 這段程式的輸出是 a i 4 j 2 b i 3 j 2 c i 3 j 4 d i 3 j 6 3.此題考查的是...
嵌入式面試題
以下是我找嵌入式面試時遇到的一些問題,答案以後慢慢補充。1.incline和巨集定義的區別 3.linux自旋鎖 4.程序,執行緒的概念 5.strcpy的使用,具體實現 6.雙向鍊錶的插入,刪除 7.大端小端概念 8.寫一段c程式檢測cpu是32位還是64位 9.malloc和new的使用 10....