成員運算符(·)和指向結構體成員運算符(->)的區別
兩者都是用來引用結構體變量的成員,但它們的應用環境是完全不一樣,前者是用在一般結構體變量中,而后者是與指向結構體變量的指針連用,例如:有定義
struct student
{
long num;
float score;
};
struct student stud, *ptr=&stud;
則stud.num、stud.score、ptr->num等都是正確的引用方式,但ptr.num、stud->num就是不允許的,其實ptr->num相當於(*ptr).num,只是為了更為直觀而專門提供了這->運算符。
最后指出,這兩者都具有最高優先級,按自左向右的方向結合。