再看linux kernel**的時候發現的東東
static struct inet_protocol tcp_protocol = ;
開始不曉得啥意思,原來是這樣的。
struct inet_protocol
;原來意思是將handler賦值成tcp_v4_rcv, err_hander賦值成tcp_v4_err, 以此類推。
今天又發現一種賦值的形式:
static struct inet_protocol tcp_protocol = ;
前面加個點,後面加個等號,這樣都可以。
下面是乙個獲得結構體偏移的方法。
#include
struct aa
b,c;
int main()
輸出內容:
hman@linux-plog:~> ./a.out
0x804a01c
804a01c
b.a is 4, b.b is a
offset of a is 4
C語言的另類結構體賦值
這幾天看linux的核心原始碼,突然看到init pid ns這個結構體變數的賦值特別奇怪。struct pid namespace init pid ns last pid 0,level 0,child reaper init task,請注意上面 的.pidmap這個結構體陣列的賦值形式。0 ...
陣列 結構體的賦值
在 c c 中,普通陣列只是分配在連續位址上的一段相同型別的變數組成的,而不是乙個變數。像a n 並不是乙個變數,而是通過指向第乙個值的指標來操作 的。陣列和指標有著很密切的聯絡。可以認為陣列操作是指標操作的另一種寫法。因此像陣列整體賦值這類操作是沒有意義的,因為它們不是乙個整體。通俗的說比如陣列a...
結構體賦值問題
首先定義兩個結構體 struct udpdata struct scanudpdata short itotaly long ltotalx udpdata udpdata int callnum udpthread收資料的次數 然後給結構體賦值 pdata new udpdata 注意 此處要ne...