C語言結構體中.和->的區別使用

C語言結構體中.和->的區別使用

很多時候,在對結構體進行相應的編碼時,時而發現是用點運算符( . ),時而是用箭頭運算符( -> );那麼這兩者之間的使用有什麼區別麼?

直接看例子即可明白,實際上區別在於定義的是結構體指針還是結構體變量

typedef struct          // 定義一個結構體類型:DATA
{
    char key[10];       // 結構體成員:key
    char name[20];      // 結構體成員:name
    int age;            // 結構體成員:age
}DATA;
    
DATA data;              // 聲明一個結構體變量
DATA *pdata;            // 聲明一個指向結構體的指針
    
// 訪問數據操作如下:
data.age = 24;          // 結構體變量通過點運算符( . )訪問
pdata->age = 24;        // 指向結構體的指針通過箭頭運算符( -> )訪問
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章