結構體中呼叫結構體成員到底用 還是用

2021-06-23 02:02:08 字數 489 閱讀 1680

.結構體成員運算子。

->指標運算子。

1、如果結構體中的成員均為一般變數(包括結構體變數),則使用「.」,如果成員變數為指標(不管指向什麼,包括結構體),則使用「->」。

2、如果定義了結構體陣列指標,則可分別使用「.」和「->」,區別在於指標帶下標時,以是陣列形式訪問,此時用「.」,如果不帶下標(或使用偏移),此時用「->」。

用指向結構體型別變數表示結構體型別變數成員分量時,使用的表示式形式非常容易寫為:*指標變數.成員名.例如,將

(*ptr).score誤寫為*ptr.score而後者表達的意義是:結構體變數ptr的score是乙個指標變數,去除其指向物件的內容,與本來

表示的取出指標變數ptr指向的結構體型別變數的score成員分量的值意義相差甚遠.為了使得表示式更清晰且不容易誤寫,c程式語言通過指標變數訪問結構體型別變數成員分量給出了一種簡潔的表達形式:指標變數名->成員名.

結語:如果是結構體指標,就用->,    反之   .   

結構體互為成員

我定義了兩個型別 typedef stuct aaa,paaa typedef struct bbb,pbbb 這樣兩個型別怎麼宣告?struct aaa struct bbb typedef aaa paaa typedef bbb pbbb struct aaa struct bbb 至少有乙個...

結構體成員位址獲得結構體起始位址

經常我們在一些開源的或者核心 中會看到。define type struct ptr type member type char ptr unsigned long type 0 member 就是由結構體的成員位址獲得結構體的位址。引數 ptr 結構體的某個成員位址。type 結構體名 membe...

結構體中的成員對齊

關於結構體中成員對齊的總結 a.結構體中,結構體成員要對齊到其對齊值倍數的位址上,對齊值為min 成員型別對齊值,編譯器結構成員對齊值b.結構體本身的對齊值為其所有成員中最大的對齊值。c.結構體本身要對齊到其對齊值倍數的位址上。d.結構體中的結構體要對齊到其對齊值倍數的位址上。e.結構體成員在記憶體...