[問題] struct 用法問題

看板C_and_CPP (C/C++)作者 (Ami)時間6年前 (2019/05/14 11:55), 6年前編輯推噓3(304)
留言7則, 6人參與, 6年前最新討論串1/1
各位午安, 今天在看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

05/14 12:05, 6年前 , 1F
c99的語法八
05/14 12:05, 1F
剛剛google時找到答案了,這不是結構的宣告, 是一種初始化的方法= = ※ 編輯: hirofumisyo (114.35.98.209), 05/14/2019 12:11:55

05/14 13:06, 6年前 , 2F
由等號就可以知道並非宣告一個結構,而是宣告一個變數
05/14 13:06, 2F

05/14 15:16, 6年前 , 3F
結構初始化
05/14 15:16, 3F

05/15 01:39, 6年前 , 4F
這是function point的初始化。
05/15 01:39, 4F

05/15 16:55, 6年前 , 5F
Gcc支援的方式 可以用來初始化結構中的特定欄位 這在driver
05/15 16:55, 5F

05/15 16:55, 6年前 , 6F
中很常見歐
05/15 16:55, 6F

06/15 12:05, 6年前 , 7F
Designated Initializers 可拿去餵狗
06/15 12:05, 7F
文章代碼(AID): #1SsZmjqA (C_and_CPP)
文章代碼(AID): #1SsZmjqA (C_and_CPP)