面試題整理

2021-09-30 03:28:23 字數 1880 閱讀 4212

static變數

全域性變數與區域性變數 靜態資料區 堆疊

heap和stack的區別 堆是由malloc之類的函式分配的空間位址由低向高增長 stack是自動分配變數位址由高向低

減少程式的記憶體分配

1.棧區(stack)由編譯器自動分配釋放,存放函式的引數值,區域性變數的值等。其操作方式類似於資料結構中

的棧。2.堆區(heap) 一般由程式設計師分配釋放,若程式設計師不釋放,程式結束時可能由os**。注意它與資料結構中的堆

是兩回事,分配方式倒是類似於鍊錶。

3.全域性區(靜態區)(static) 全域性變數和靜態變數的儲存是放在一塊的,初始化的全域性變數和靜態變數在一塊

區域,未初始化的全域性變數和未初始化的靜態變數在相鄰的另一塊區域,程式結束後由系統釋放。

4.文字常量區 常量字串就是放在這裡,程式結束後由系統釋放。

5.程式**區 存放函式體的二進位制**

引用乙個已經定義過的全域性變數 extern 和包含標頭檔案的方式

區域性變數能否和全域性變數重名 能 要用全域性變數需要使用::

全域性變數可不可以定義在可被多個.c檔案包含的標頭檔案中

可以,在不同的c檔案中以static形式來宣告同名全域性變數。

可以在不同的c檔案中宣告同名的全域性變數,前提是其中只能有乙個c檔案中對此變數賦初值,此時連線不會出錯

static全域性變數與普通的全域性變數有什麼區別?static區域性變數和普通區域性變數有什麼區別?static函式與普通

函式有什麼區別

全域性變數(外部變數)的說明之前再冠以static 就構成了靜態的全域性變數。全域性變數本身就是靜態儲存方式,靜

態全域性變數當然也是靜態儲存方式。 這兩者在儲存方式上並無不同。這兩者的區別雖在於非靜態全域性變數的作

用域是整個源程式,當乙個源程式由多個原始檔組成時,非靜態的全域性變數在各個原始檔中都是有效的。而靜態

全域性變數則限制了其作用域, 即只在定義該變數的原始檔內有效, 在同一源程式的其它原始檔中不能使用它。

由於靜態全域性變數的作用域侷限於乙個原始檔內,只能為該原始檔內的函式公用,因此可以避免在其它原始檔中

引起錯誤。

從以上分析可以看出, 把區域性變數改變為靜態變數後是改變了它的儲存方式即改變了它的生存期。把全域性變數

改變為靜態變數後是改變了它的作用域,限制了它的使用範圍。

static函式與普通函式作用域不同,僅在本檔案。只在當前原始檔中使用的函式應該說明為內部函式(static),

內部函式應該在當前原始檔中說明和定義。對於可在當前原始檔以外使用的函式,應該在乙個標頭檔案中說明,要

使用這些函式的原始檔要包含這個標頭檔案

static全域性變數與普通的全域性變數有什麼區別:static全域性變數只初使化一次,防止在其他檔案單元中被引用;

static區域性變數和普通區域性變數有什麼區別:static區域性變數只被初始化一次,下一次依據上一次結果值;

static函式與普通函式有什麼區別:static函式在記憶體中只有乙份,普通函式在每個被呼叫中維持乙份拷貝.

const變數

sizeof問題

引用與指標

區別:指空性 可變性 是否必須初始化

陣列與指標

物件導向

多型   我理解的多型是通過基類指標來呼叫子類的函式

虛函式 什麼函式不能宣告為虛函式? 其實就是在呼叫時沒有物件資訊的都不能  建構函式 static函式 內聯函

數虛函式表的概念是什麼?

析構函式 析構函式宣告為虛函式很重要 為什麼? 通過基類指標銷毀派生類物件

內聯函式與巨集定義

windows程式設計相關

訊息排程機制

程序和執行緒

預編譯演算法

氣泡排序演算法

void bubblesort(int* p, int count)

}字串倒序

面試題整理

2014.3.19日整理 1.建立一張表hack 裡面就乙個欄位num,然後用sql語句從1開始插入到100,怎麼寫?oracle 答 1.create tablehack num number 建表語句 2.begin for i in1.100loop insert intohack num v...

整理面試題

整理面試題 1 說說activity,intent,service是什麼關係 答 乙個activity 通常是乙個單獨的螢幕,每乙個 activity 都被實現為乙個單獨的類,這些類都是從 activity 基類中繼承而來的。activity 類會顯示由檢視控制項組成的使用者介面,並對檢視控制項的事...

面試題整理

def num return lambda x x i for i in range 4 print func 2 for func in num 考點 匿名函式lambda的使用,列表生成式,對迴圈體 的解析 lambda函式隱藏了return,實際上是可以寫成以下形式的 for i in ran...