1.c/c++記憶體分配
記憶體分配方式有三種:
(1)
從靜態儲存區域分配
。內存在程式編譯的時候就已經分配好,這塊內存在程式的整個執行期間都存在。例如全域性變數,static變數。
(2)
在棧上建立
。在執行函式時,函式內區域性變數的儲存單元都可以在棧上建立,函式執行結束時這些儲存單元自動被釋放。棧記憶體分配運算內置於處理器的指令集中,效率很高,但是分配的記憶體容量有限。
(3)
從堆上分配
,亦稱動態記憶體分配。程式在執行的時候用malloc或new申請任意多少的記憶體,程式設計師自己負責在何時用free或delete釋放記憶體。動態記憶體的生存期由我們決定,使用非常靈活,但問題也最多。
2.指標和引用的區別
1) 引用必須初始化
2)引用無法繫結到另外的物件,一旦定義,無法轉移;指標可指向新物件;
3)引用即別名;指標則開闢新記憶體空間存位址
3.程序和執行緒的區別
1)乙個程序可以包括多個執行緒
2)乙個程序的記憶體空間是共享的,每個執行緒都可以使用這些記憶體空間
作業系統的設計,因此可以歸結為三點:
(1)以多程序形式,允許多個任務同時執行;
(2)以多執行緒形式,允許單個任務分成不同的部分執行;
(3)提供協調機制,一方面防止程序之間和執行緒之間產生衝突,另一方面允許程序之間和執行緒之間共享資源。
C 面試題目(更新中)
前幾天我到一家公司第一次面試c 崗位 大四,面試通過 面試時主要考察了c 的指標 記憶體管理機制 c 物件導向 計算機網路以及資料結構等相關知識點。經過面試,我發現自己對c 的理論知識還不夠紮實。卡住我的主要難點是指標這一塊。面試官給的題目還算是比較靈活的,我認真分析了下題目,但有些地方還是答錯了,...
蒐集外包公司面試題
有幾種方法匯出dll?c 1.使用 def 檔案從 dll 匯出 2.declspec dllexport stdcall,cdecl stdcall函式自己清除棧 winapi預設使用,解決不同編譯器呼叫者產生棧方式不同問題。cdecl呼叫者清除 mfc,c 預設使用,解決可變引數清棧問題,被呼叫...
C 面試題目
1 ispostback正確的是 首次載入頁面的ispostback的值為false 重新整理頁面後的ispostback的值為true 第三個選項忘了 2 頁面傳值的幾種方式 request.querystring session server.transfer 3 什麼是瀏覽器的 無狀態 如何解...