看板 C_and_CPP 關於我們 聯絡資訊
各位午安, 今天在看linux driver的寫法時, 看到了一種結構的宣告方式如下: static const struct file_operations my_fops = { .llseek = my_lseek, .read = my_read, .write = my_write, .open = my_open, .unlocked_ioctl = my_ioctl, .release = my_release, }; 一般的結構用法是在裡面宣告變數, 但是這裡好像不是傳統的用法, 請問有人知道這是什麼用法嗎? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.35.98.209 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1557806125.A.D0A.html
wei115: c99的語法八 05/14 12:05
剛剛google時找到答案了,這不是結構的宣告, 是一種初始化的方法= = ※ 編輯: hirofumisyo (114.35.98.209), 05/14/2019 12:11:55
RishYang: 由等號就可以知道並非宣告一個結構,而是宣告一個變數 05/14 13:06
TitanEric: 結構初始化 05/14 15:16
MasterChang: 這是function point的初始化。 05/15 01:39
Gway: Gcc支援的方式 可以用來初始化結構中的特定欄位 這在driver 05/15 16:55
Gway: 中很常見歐 05/15 16:55
ab830921: Designated Initializers 可拿去餵狗 06/15 12:05