C 標記化結構初始化語法 點運算子

2021-08-26 05:59:51 字數 328 閱讀 2388

已知乙個結構體

struct point

c99支援結構的指定初始化專案,結構的指定初始化專案使用點運算子和成員名(而不是方括號和索引值)來標識具體的元素。

如:struct point position;

這個宣告採用了標記化結構初始化語法。這種寫法是值得採用的,因為它使驅動程式在結構的定義發生變化時更具有可移植性,並且使**更加緊湊且易讀。標記化的初始化方法允許對結構成員進行重新排列。在某些場合下,將頻繁被訪問的成員放在相同的硬體快取行上,將大大提高效能。 ……ldd3

linux 核心中 這樣初始化的結構體隨處可見

來自我的baidu部落格

c的標記化結構初始化語法

在標準c中 c89 結構標準初始化是用 來實始化,在c99的版本,採用了採用可讀性更強的標記化實始化,這在linux核心和驅動很為常見。這是iso c99的用法。c primer plus第五版中相關章節 已知乙個結構,定義如下 struct book c99支援結構的指定初始化專案,其語法與陣列的...

標記化結構初始化語法 C語言

以前在看linux 時,就對它的結構體初始化寫法感到奇怪,所有的初始化 都寫清了變數名,並且變數名前面還有乙個詭異的點。最近學習linux裝置驅動,又遇到了,就查了一下,發現自己的知識果然紕漏不少,此種初始化寫法並不是什麼特殊的 風格,而是所謂的c語言標記化結構初始化語法 designated in...

標準C的標記化結構初始化語法

以前在看 linux 時,就對它的結構體初始化寫法感到奇怪,所有的初始化 都寫清了變數名,並且變數名前面還有乙個詭異的點。最近學習linux裝置驅動,又遇到了,就查了一下,發現自己的知識果然紕漏不少,此種初始化寫法並不是什麼特殊的 風格,而是所謂的 c語言標記化結構初始化語法 designated ...