四 C C 基礎知識

2021-09-27 03:57:23 字數 1795 閱讀 7032

1、.socket網路通訊中阻塞與不阻塞的區別?

阻塞的情況下,如果讀socket,而socket沒有資料,則程式就在socket等資料,一直不返回(除非socket錯誤或者超時) 非阻塞的情況下,如果讀socket,而socket沒有資料,則返回來,表示讀了0個位元組回來。 當socket有資料時,阻塞與非阻塞是一樣的

2、const和static關鍵字怎麼加,加上去有什麼作用? 全域性函式加上static有什麼用?

1 、const可以修飾變數,函式的入參,函式的返回值作用被const 修飾的東西都受到強制保護,可以預防意外的變動,該變數無法被修改

2、 static可以修飾變數和函式

1)在函式體內,乙個被宣告為靜態的變數在這一函式被呼叫過程中維持其值不變(該變數存放在靜態變數區)。

在模組內(但在函式體外),乙個被宣告為靜態的變數可以被模組內所用函式訪問,但不能被模組外其它函式訪問。它是乙個本地的全域性變數。

在模組內,乙個被宣告為靜態的函式只可被這一模組內的其它函式呼叫。那就是,這個函式被限制在宣告它的模組的本地範圍內使用。

3、c語言中除了strcpy還有什麼拷貝函式

1、sprintf

2、memcpy

3、memmove

4、strncpy

4、三次握手與四次揮手

1、a在嗎->b b確認a可以到b

a<-在的,你在嗎b a確認a可以到b且b可以到a

a在的-> b ,b確認b可以到a

2、 a 向 b傳送關閉請求->b

a<-傳送請求響應 b

b檢查是否有未傳送完成的資料

a<-可以關閉b

a傳送關閉訊息->b

3、用什麼分配記憶體,重複釋放的結果時什麼

c中用malloc申請分配記憶體,c++中用new申請分配記憶體,程式可能會奔潰

5、執行緒間的鎖

互斥量,執行緒的訊號量,條件變數

6、寫出基於tcp/ip協議簇與osi模型的對應關係

osi tcp

----------------------------------------

物理層資料鏈路徑 物理層

---------------------------------------

網路層 網路層

----------------------------------------

傳輸層 傳輸層

-----------------------------------------

會話層表示層

應用層 應用層

7、tcp網路協議步驟

server cilent

建立socket套接字 建立socket套接字

準備位址 準備位址

繫結監聽

等待連線 連線

接收請求 傳送請求

響應請求 接受響應

關閉套接字 關閉套接字

udp建立套接字 建立套接字

準備位址(本機位址)準備位址(目標機位址)

繫結 位址

接收請求 傳送請求

響應請求 接收響應

關閉套接字 關閉套接字

8、makefile

cc:編譯器

obj:生成的目標檔案

bin:生成的可執行檔案

9、c++的隱藏、覆蓋、過載

過載:過載在同一作用域中,函式名相同,引數列表不同,與返回值無關

覆蓋:在父子類之間,父類中被覆蓋的函式需要virtual關鍵字,函式簽名完全相同,返回值要是同類或是父子類的

隱藏:在父子類間,不一定需要virtual關鍵字,可以時變數也能時函式,不完全覆蓋舊構成了隱藏

C C 基礎知識

c 基礎知識 定義在class宣告內的成員函式預設是inline函式 進製 問 假設在n進製下,等式 240 12 2880 成立,n值是 a 19 b 18 c 17 d 16 e 15 f 以上都對 答 2 n 2 4 n 1 1 n 2 2 n 3 8 n 2 8 n 1 化簡後為恒等式,故n...

C C 基礎知識

乙個指標可以被多次賦值,但是引用只可以在建立的時候就必須初始化,初始化完畢後就不可改變 乙個指標有它自己的記憶體位址和棧上的大小 x86上面為4byte 但是引用與原有變數共享相同的記憶體位址,但是在棧上仍然占用一些記憶體空間。指標可以指向null,但是引用必須引用乙個有效的物件 乙個指標需要使用 ...

c c 基礎知識

include includeint main else system pause return 0 計算機的原碼用於表示,有符號的前提最高位為符號位,0為正數,1代表負數,其餘各位為數值本身的絕對值,無符號就是資料的絕對值 反碼 正數,反碼與原碼相同 負數,符號位為1,其餘為對原碼取反 補碼 原碼...