很多時候,在對結構體進行相應的編碼時,時而發(fā)現(xiàn)是用點運算符( . )
胆绊,時而是用箭頭運算符( -> )
;那么這兩者之間的使用有什么區(qū)別么欧募?
相同點:兩者都是二元操作符压状,而且右邊的操作數(shù)都是成員的名稱。
不同點:點運算符( . )的左邊操作數(shù)是一個結果為結構的表達式
跟继;箭頭運算符( -> )的左邊的操作數(shù)是一個指向結構體的指針
何缓。
例如:
typedef struct // 定義一個結構體類型:DATA
{
char key[10]; // 結構體成員:key
char name[20]; // 結構體成員:name
int age; // 結構體成員:age
}DATA;
DATA data; // 聲明一個結構體變量
DATA *pdata; // 聲明一個指向結構體的指針
// 訪問數(shù)據(jù)操作如下:
data.age = 24; // 結構體變量通過點運算符( . )訪問
pdata->age = 24; // 指向結構體的指針通過箭頭運算符( -> )訪問