一、結構體的 . 運算子
二、結構體的 -> 運算子
三、點運算子的優先性和結合性
一、結構體的 .運算子
1.結構體成員的直接訪問:結構體變數的成員是通過運算子 . 訪問的,
二、結構體的->運算子
1.結構體成員的間接訪問:當我們擁有一個 指向結構體的指標 ,我們訪問這個結構的成員的方式是 對指標執行間接訪問操作 ,
然后再通過 點運算子 訪問其成員,但是 點運算子 的優先級大于 間接訪問運算子,因此需要使用括號,確保間接訪問先進行,
即訪問指向結構體的指標需要通過間接訪問來進行
例子:
struct complex
{ float f;};
void func(struct conmplex* cp);
函式可以使用如下運算式來進行訪問 f:
(* cp).f ———— 即通過此方式來進行訪問結構體中的成員f
對指標進行 間接訪問 將訪問結構體,再用點運算子訪問其成員,
由于該概念不是很方便,于是C語言提供了一個更為方便的運算子來完成這項作業———— ->運算子(也成箭頭運算子)
和點運算子一樣,箭頭運算子接收兩個運算元,但左運算元必須是一個指向結構體的指標
cp->f 等同于 (* cp).fs
三.點運算子的優先性和結合性:
從下表中我們可以看出其優先性是和[]相同的,結合性是從左到右的,
struct complex{
struct simple s;
struct simple sa[10];
};
于是當如下使用該運算子時:
(comp.s).a 等同于 comp.s.a
((comp.sa)[4]).c 等同于 cmp.sa[4].c
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/545845.html
標籤:其他

