1. 關鍵字static的作用是什麼?
在c語言中,關鍵字static有三個明顯的作用:
1)在函式體,乙個被宣告為靜態的變數在這一函式被呼叫過程中維持其值不變。
2) 在模組內(但在函式體外),乙個被宣告為靜態的變數可以被模組內所有函式訪問,但不能被模組外其它函式訪問。它是乙個本地的全域性變數。
3) 在模組內,乙個被宣告為靜態的函式只可被這一模組內的其它函式呼叫。那就是,這個函式被限制在宣告它的模組的本地範圍內使用。
static全域性變數與普通的全域性變數有什麼區別:static全域性變數只初始化一次,防止在其他檔案單元中被引用;
static區域性變數和普通區域性變數有什麼區別:static區域性變數只被初始化一次,下一次依據上一次結果值;
static函式與普通函式有什麼區別:static函式在記憶體中只有乙份,普通函式在每個被呼叫中維持乙份拷貝
2、程式的區域性變數存在於(堆疊)中,全域性變數存在於(靜態區 )中,動態申請資料存在於( 堆)中
2.c語言的const的含義是什麼?並給出三個不同的例子。
const是唯讀的意思,它限定乙個變數不允許被改變
3.c語言的volatile的含義是什麼?
由於訪問暫存器的速度要快過ram,所以編譯器一般都會作減少訪問外部ram的優化,但有可能會讀髒資料。當要求使用volatile 宣告的變數的值的時候,系統總是重新從它所在的記憶體讀取資料,即使它前面的指令剛剛從該處讀取過資料。而且讀取的資料立刻被儲存。精確地說就是,優化器在用到這個變數時必須每次都小心地重新讀取這個變數的值,而不是使用儲存在暫存器裡的備份。
1) 並行裝置的硬體暫存器(如:狀態暫存器)
2) 乙個中斷服務子程式中會訪問到的非自動變數(non-automatic variables)
3) 多執行緒應用中被幾個任務共享的變數
4.iso的七層模型是什麼?tcp/udp是屬於哪一層?tcp/udp有何優缺點?
應用層/表示層/會話層/運輸層/網路層/物理鏈路層/物理層
tcp /udp屬於運輸層
tcp: 提供穩定的傳輸服務,有流量控制,缺點是包頭大,冗餘性不好
udp: 不提供穩定的服務,包頭小,開銷小
經典筆試題筆記
1.有無序的實數列v n 要求求裡面大小相鄰的實數的差的最大值,關鍵是要求線性空間和線性時間 方法 桶排序 由抽屜原理知最在差值maxsub有如下關係 所以,當所桶大小設為 然後就成有序的了,接下來就只要比較相鄰,取最優就可以了。2.13個球乙個天平,現知道只有乙個和其它的重量不同,問怎樣稱才能用三...
經典筆試題123
1.實現對乙個8bit位資料 unsigned char 型別 的指定位 例如第n位 的置0或置1操作,並保持其他位不變。函式原型 void bit set unsigned char p data,unsigned char position,int flag 函式引數說明 p data是指定的原...
筆試面試 經典筆試題整理
以下內容全部整理自網路。把整數關鍵碼k雜湊到n個槽列表,最好的雜湊函式是 h k k rand n mod n,rand n 返回0到n 1的整數 初始資料集的排列順序對演算法的效能無影響的是 堆排序 堆排序 最優時間複雜度o nlogn 最差時間複雜度o nlogn 平均時間複雜度o nlogn ...