0. RSocket 簡介 採用二進位點對點數據傳輸,主要應用於分散式架構之中,是一種基於Reactive Stream規範標準實現的新的通信協議。 參考阿裡雲開發者社區的介紹 相關文檔和資料: RSocket By Example rsocket-java 原生庫例子 Spring RSocket ...
一、結構體的 . 操作符
二、結構體的 -> 操作符
三、點操作符的優先性和結合性
一、結構體的 .操作符
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