第一次面試的題
舉例說明static的三種用途:對應的解釋
- 隱藏。當我們同時編譯多個檔案時,所有未加static的全域性變數和函式都具有全域性可見性。為了防止出錯,需加上static。
- 保持變數的內容持久。.儲存在資料區的變數,和全域性便量具有相同的性質:生命週期和程式一樣長,不會被釋放,唯一不同的是變數的作用域有一定的區別。
- 預設初始換為0.當變數未初始化時,加上static可以讓系統自動給該變數一個0的值。
舉例說明關鍵字volatile的三種作用:對應解釋(易變得)
- 在C語言有關書上寫的有關volatile。簡單的說:volatile關鍵字會影響編譯器編譯的結果,用volatile宣告的變數表示該變數隨時都可以發生變化,該變數的有關運算,不要進行編譯優化,以免出錯。
- 1)中斷服務程式中修改的供其它程式檢測的變數,需要加volatile;
- 2)多工環境下多工間共享的標誌,應加volatile;
- 3)儲存器對映的硬體暫存器通常也要加volatile說明,因為每次對它的讀寫都可能由不同意義;
堆與棧有何區別? 對應的大佬解釋
- 1)資料結構的堆與棧
①棧是一種可以實現“先進後出”(或者稱為“後進先出”)的儲存結構。
②堆則是一種經過排序的樹形資料結構,常用來實現優先佇列等。堆是一種特殊的完全二叉樹。 其中,節點是從左到右填滿的,並且最後一層的樹葉都在最左邊(即如果一個節點沒有左兒子,那麼它一定沒有右兒子);每個節點的值都小於(或者都大於)其子節點的值。 - 2)記憶體內容分配的堆與棧
①分配與釋放方式不同
⑴棧記憶體是由編譯器自動分配與釋放的,它有兩種分配方式:靜態分配和動態分配。
⑵堆記憶體完全是由程式設計師手動申請與釋放的。(malloc函式等)
②分配碎片的問題
⑴對堆來說,記憶體空間的不連續。 頻繁分配和釋放(malloc / free)不同大小的堆空間勢必會造成,從而造成大量碎片,導致程式效率降低;
⑵對棧來講,記憶體空間是連續,則不會存在這個問題。
③分配的效率
⑴棧是機器系統提供的資料結構,計算機會在底層對棧提供支援。棧的分配效率要高一些。
⑵堆則不同,它是由 C/C++ 函式庫提供的,它的機制也相當複雜。堆的分配效率要低一些。
④申請的大小限制 : 堆的生長方向
⑴堆記憶體的申請大小受限於計算機系統中有效的虛擬記憶體。棧的增長方向是由高地址向低地址方向增長。
⑵棧則不同,它是一塊連續的記憶體區域,其地址的增長方向是向下進行的,向記憶體地址減小的方向增長。
⑤儲存的內容
⑴對棧而言,一般用於存放函式的引數與區域性變數等。
⑵對堆而言,具體儲存內容由程式設計師根據需要決定儲存資料。
Little Endian和Big Endian有何區別? 對應的解
大端模式(big endian):資料的高位位元組儲存在記憶體的低地址中,而低位位元組儲存在記憶體的高地址中。
小端模式(little endian):資料的高位位元組儲存在記憶體的高地址中,而低位位元組儲存在記憶體的低地址中。
相關文章
- HTML最新面試題(筆試面試題)HTML面試題筆試
- 跨業自學黨的第一次面試面試
- 面試題:面試經面試題
- 詢問面試官的面試問題面試
- 「面試題」20+Vue面試題整理面試題Vue
- 面試題系列:工作5年,第一次這麼清醒的理解final關鍵字?面試題
- 一家外企的面試題目(C/C++面試題,C語言面試題)面試題C++C語言
- IT面試題:附帶答案的14道Spring MVC面試題面試題SpringMVC
- 面試題面試題
- react面試題 機試題React面試題
- 面試測試題面試
- 測試面試題面試題
- 我的PHP面試題PHP面試題
- MySQL 的面試題集MySql面試題
- 昨天的面試問題面試
- RabbitMQ面試專題,面試必看MQ面試
- 面試題錦(大廠面試前夕的掙扎)面試題
- 面試前必須要知道的Redis面試題Redis面試題
- 除了面試題,你應該知道的面試技巧!面試題
- 面試珍藏:最常見的20道Java面試題Java面試題
- 面試題1:9月25日面試題面試題
- [面試題]事件迴圈經典面試題解析面試題事件
- 技術面試題分享:含答案的10道Jvm面試專題面試題JVM
- 【面試】面試常見問題整理面試
- 【Java面試】JSP常見面試題!JavaJS面試題
- 【Java面試】Servlet常見面試題!JavaServlet面試題
- 【Java面試】 Javascript常見面試題!JavaScript面試題
- webpack面試題Web面試題
- Promise面試題Promise面試題
- 面試題-mysql面試題MySql
- 面試題1面試題
- vue 面試題Vue面試題
- JavaScript面試題JavaScript面試題
- vue面試題!!!Vue面試題
- 面試題2面試題
- redis面試題Redis面試題
- 面試題整理面試題
- mybatis面試題MyBatis面試題