傳智掃地僧課程學習筆記。
ipv4套介面位址結構
ipv4
套介面位址結構通常也稱為
「網際套接字位址結構
」,它以「
sockaddr_in
」命名,定義在標頭檔案中
struct sockaddr_in
else
return 0;
}我的電腦輸出為 78,56,34,12
man 3 htonl,得到這些結果,
#include
uint32_t htonl(uint32_t hostlong);
uint16_t htons(uint16_t hostshort);
uint32_t ntohl(uint32_t netlong);
uint16_t ntohs(uint16_t netshort);
h代表host;n代表network s代表short;l代表long,不過從後面uint32就可以大概看出來,
在上面**的基礎上,加上它,來使用系統提供的大小端轉換函式,
uint32_t mynetdata = htonl( data);
p = &mynetdata;
printf("%x,%x,%x,%x\n", p[0], p[1], p[2], p[3] );
轉換為網路位元組序,輸出結果為 12,34, 56, 78
ip位址涉及到兩種形式,
一種是我們平常常見的,即 192.168.0.1,另一種是計算機裡面的32位bit的形式,
因此就涉及到兩種形式的轉換,
位址轉換函式
#include
#include
int inet_aton(const char *cp,struct in_addr *inp);
in_addr_t inet_addr(const char*cp);
char *inet_ntoa(struct in_addr in);
這幾個函式,我是這樣看的,
const代表輸出引數,而struct _addr又是我們之前講到過的ip位址結構體,
第乙個函式的返回值,沒有猜錯的話,就是用來說明函式執**況的,
char *型別,結合man文件,很容易想到是字串型別的ip位址表示"192.168.0.1";
struct sockaddr_in ;
/* internet address. */
struct in_addr ;
第二個結構體定義的in_addr被用於第乙個結構體中的元素,
int main()
輸出結果為:
3724978368
3724978368
192.168.6.222,
老師說第三個函式,請深刻理解為什麼不傳入指標,而是元素,
/* 上面第二個示例**,
究竟是定義指標,還是直接定義實體?
指標的話,你還得去分配記憶體,
實體的話,就相當於已經分配了記憶體,
但是位址得顯示引用
*/
opencv基本資料結構
iplimage 首先介紹重要的成員變數 width和height表示了的尺寸。其次是depth和nchannels,depth是指畫素顏色的取值範圍,nchnannels為影象的通道,可以取1,2,3,4 origin變數定義了影象的原點,有兩個取值,分別是ipl origin bl和ipl or...
Python 基本資料結構
列表是python裡的內建的型別之一,可以新增和刪除其中的元素。如 role sam 33 dean 37 可以列表中包含列表,同一列表中包含不同型別的資料。下面介紹列表的一些通用操作,關於list的其他用法,可以通過help list 檢視。a 2,13,12,41,17,23 a 1 列表從0開...
基本資料結構定義
定義 棧是一種只能在一端進行插入或刪除操作的線性表。表中允許進行插入 刪除操作的一端稱為棧頂。棧頂的當前位置是動態的,棧頂的當前位置由乙個稱為棧頂指標的位置指示器指示。表的另一端稱為棧底。當棧中沒有資料元素時,稱為空棧。棧的插入操作通常稱為進棧或入棧,棧的刪除操作通常稱為退棧或出棧。特點 後進先出 ...