找工作時總結的一些c/c++知識點(1)
xianfa110
c語言的四個變數儲存類分別是:auto, register, extern, static
1. auto
auto 可以省略不寫,是區域性變數,作用域限於所在函式或模組。
2. register
register變數作用域和auto變數相同。變數儲存在暫存器中,只是對編譯程式的一種建議,不是強制性的,比如當前cpu中所有暫存器都用光時,就會忽略。
暫存器變數無位址,無法進行求位址運算。
暫存器變數應該盡量靠近使用的地方,用完後盡快釋放。
3. static
static變數生存期直到程式執行結束,作用域和auto相同,能記住上次的值。
auto在進行編譯前一定要有值,static變數則不需要有初值,如果無,則預設值為0。
函式預設為extern型別,如果要某函式只能在乙個原始檔中有效,而不能被其它原始檔所用,則可將函式定義為靜態的,即函式宣告前加static。
4. extern
外部變數,是在函式外部任意位置定義的全域性變數。
假如乙個程式由
10個原始檔構成,每個原始檔都必須訪問乙個全域性變數,在這種情況下,其中
9個檔案必須把變數宣告為
extern
,另乙個則不能(因為須為該變數分配空間)。雖然在飽含
main()
函式的原始檔中分配變數是最合理的,但哪個檔案真正分配該變數是無關緊要的。
按值傳遞和按指標傳遞
按值傳遞時,被調函式內部對形參的改變不反映到上層函式的實參中。按引用傳遞與按指標傳遞效果一樣。
指標與陣列
當定義了指標型別之後,指標的增加減少是以型別所佔的位元組數增長的。如:
int *p; p=p+1;
實際上p
是的增加了
sizeof(int)
個。對於陣列,
int a[10]; int *p=a; p=p+1; *p=10;
則是改變了陣列的第二個值,位址自動按
sizeof(int)
增長。
堆和堆疊的區別
乙個程式將操縱系統分配給其執行的記憶體快分為
4個區域:
**區:存放程式**
全域性資料區:存放程式的全域性資料和靜態資料
堆區:存放程式的動態資料
棧區:存放程式的區域性資料,即各個函式中的資料。
函式呼叫的整個過程就是棧空間操作的過程。呼叫過程:
(1) 建立棧空間;
(2) 保護返回位址和函式執行狀態;
(3) 傳遞引數;
(4) 將控制交給被調函式;
(5) 恢復呼叫呼叫函式執行狀態;
(6) 釋放棧空間
(7) 根據返回位址,回到呼叫函式。
程序和執行緒的概念
程序是乙個正在執行的程式的例項,是乙個程式在其自身的位址空間中的一次執行活動。乙個程式可對應多個程序。
執行緒負責執行包含在程序的位址空間中的**,也即完成**執行的是執行緒,而程序只是執行緒的容器,或者說是執行緒的執行效率。單個程序可能包含若干個執行緒。
命令列
作業系統將命令列引數以字串的形式傳遞給
main()
。因此一般形式為:
void main(int argc, char *argv)
//引數名稱可任意取
}argc
表示引數的個數,
acgv
表示引數陣列,作業系統以空格區分作為下乙個引數的標誌。
找工作的一些經歷
2017年9月18 剛剛開通部落格,剛剛找完工作,記錄一下自己的經歷。2017年8月 我在8月中旬開始在網上投簡歷,參加一些公司的內推和提前批。記得第一次的筆試是網易傳媒的c 開發工程師的筆試。感覺在筆試之前的準備可能還是不充分吧,還沒怎麼刷題,對於一些常見的題目沒有去記憶,然後在筆試的時候感覺程式...
找工作的一些經驗
雖然我畢業還不到2年,但是工作也算是有2年多了.自己也來班門弄斧,談談我對找工作的一些看法吧.首先,自己的基本只是準備是肯定必要的,但是一般有一定工作經驗的人,只要不是很差,這項應該都是過關的,排除是對技術門檻要求很高的工作.其次,簡歷很重要,前幾天幫我表哥看他的簡歷,他自己認為簡歷越簡單越好,最好...
找工作的一些建議
簡歷製作要區分國企,私企,外企。國企考查求職者的綜合素質,一般更注重綜合素質,而不僅僅是技術細節 而私企一般會深入考查,需要把求職者簡歷上的每個專案都弄清楚,要求技術紮實,深入 外企需要求職者能夠用英語講述自己的經歷,講清楚乙個專案的工作以及具備良好的表達能力。牛客網,一般實驗室應屆生畢業每年去的公...