筆試3

1、指針和引用的區別:
引用是給另一個變量的起名,所以引用不會分配內存空間。指針是一個實體,需要分配內存空間。
引用在定義的時候必須進行初始化,並且不能被改變。指針在定義的時候不需要進行初始化。
有多級指針但是沒有多級引用
指針和引用的自增運算結果不一樣。指針運算加1是地址加1,而引用運算加1是值加1.
sizeof求引用是指引用的對象(變量)的大小,而sizeof指針的大小是指指針本省的大小。
引用訪問一個變量是直接的訪問。而指針訪問一個變量是間接訪問。
2、值傳遞和引用傳遞的區別?
值傳遞的方法是被調用時傳遞進來的參數是一個副本(拷貝),而不是傳遞進來參數的本省。換句話說值傳遞參數的修改不會影響到調用方傳遞的參數的對象。
而引用傳遞的方法是被調用時傳遞進來的參數是一個引用,換句話說傳遞進來的參數指向調用方傳遞的參數的本省。對引用傳遞的參數的修改會影響調用方傳遞的參數對象。
3、TCP的三次握手是如何實現的?
首先,第一步:客戶端給服務器發送一個syn包到服務器,並進入sys_send狀態,等待服務器的再次確認。
第二步:服務器接收到sys包的時候,必須確認客戶的sys(ack=j+1),同時自己也發送一個syn=k的包,即sys+ack包,此時服務器進入syn_recv狀態。
第三次握手:客戶端接收到syn+ack包,向服務器發送確認包。ack=k+1
此時發送包完畢。即客戶端與服務器建立連接。
4、TCP的四次揮手
首先客戶端和服務器之間通信斷開時,客戶端會給主機發送一個FIN信號,然後於此同時給一個序列號seq=u。當服務器收到是變爲FIN_WAIT1狀態。然後服務器這段給應答,ACK=1,ack=u+1,seq=v;再次給一個關閉信號迴應變爲FIN_WAIT2。ack=v+1,ACK=1,FIN=1,seq=w;最後客戶端給服務器一個迴應。ACK=1,seq=u+1,ack=u+1;
5、RS485
RS485採用的是差分信號負邏輯,RS485採用的有四線制和二線制兩種。四線制只能實現點對點,所以現在多用的是二線制。這種接線方式最多可以掛接32個節點。 在RS485通信網絡中一般採用的是主從通信。
6、socket編程
**socket又叫套接字,他是計算機之間的通信方式的一種約定。通過socket這種約定,一臺計算機可以接受其他計算機的數據。
socket的典型應用就是web服務器與瀏覽器,瀏覽器獲取用戶輸入URL,向服務器發起請求。服務器分析接收到的URL,將對應的網頁內容返回給瀏覽器。瀏覽器在經過渲染將文字和圖片、視頻等元素呈現在用戶面前。

**數據傳輸方式常用的有兩種:SOCK_STREAM和SOCK_DGRAM。
(1)SOCK_STREAM表示面向連接的數據傳輸方式。數據可以準確無誤的達到另一臺計算機。如果損壞和丟失,可以重新發送。但是效率相對較慢。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章