回覆列表
  • 1 # 我是阿嘛

    指向結構體成員運算子 : (->) 從外部看是包含了一個解指標(*)所以要對指標進行操作

    例如:

    typedef struct

    {

    int data[20];

    int length;

    }Sqlist;

    Sqlist

    *L;

    L->lenth;

    //同樣是得到L中length的值

    結構體成員運算子 : ( . )直接呼叫結構體中的某個成員

    例如:

    typedef struct

    {

    int data[20];

    int length;

    }Sqlist;

    Sqlist L;

    L.length; //直接呼叫L中length的值

    L.data[3];

    擴充套件資料:

    結構體成員的點運算子(.)和箭頭運算子(->)的區別:

    相同點:兩個都是二元運算子,其右運算子是成員的名稱。

    不同點:點運算子左邊的運算元是一個“結果為結構”的表示式;箭頭運算子左邊的運算元是一個指向結構的指標。

    如果一個函式的傳入引數是結構體,且需要該結構體作為返回值的時候,必須採用指標傳遞的方式,其中對結構體賦值必須使用箭頭運算子。

    參考資料:

  • 中秋節和大豐收的關聯?
  • 啞巴皇帝唐順宗李誦他是如何上位的?結局如何?