作者hirofumisyo (Ami)
看板C_and_CPP
標題[問題] struct 用法問題
時間Tue May 14 11:55:21 2019
各位午安,
今天在看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