這幾天看linux的核心原始碼,突然看到init_pid_ns這個結構體變數的賦值特別奇怪。
struct pid_namespace init_pid_ns =
.last_pid = 0,
.level = 0,
.child_reaper = &init_task,
請注意上面**的.pidmap這個結構體陣列的賦值形式。
[ 0 ... pidmap_entries-1]
直接拿索引來賦值,而且直接寫出了索引的範圍。有點python的味道。
只是記得c語言的函式的可變引數是用的...的方式。沒想過結構體也有這種操作方式。
另類的結構體賦值語法
再看linux kernel 的時候發現的東東 static struct inet protocol tcp protocol 開始不曉得啥意思,原來是這樣的。struct inet protocol 原來意思是將handler賦值成tcp v4 rcv,err hander賦值成tcp v4 e...
c語言結構體賦值問題
對於結構體賦值問題 1 static psl 我過去一般會對結構體這樣賦值 static psl pslname 記住有一點,b 後面的逗號可有可無,至於具體為什麼,我只能理解自己能力還不夠。現在只知道可有可無。上面這種賦值方式是對的。看看下面的一種賦值方式 static psl pslname 這...
c語言結構體可以直接賦值
from 下面是乙個例項 include struct foo foo1,foo2 define two structs with three different fields void struct assign void int main 我在ubuntu 13.04下使用gcc 4.7.3 編...