C語言的另類結構體賦值

2021-12-29 21:08:23 字數 335 閱讀 1805

這幾天看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 編...