# include <stdio.h>
# include <stdlib.h>
/*
1.使用->引用結構體成員
*/
int main ()
{
struct Student
{
char cName[20];
int iNumber;
char cSex;
int iGrade;
}student={"Girl",2017,'w',2};
struct Student *pStruct;
pStruct = &student; //指向student結構體變量
printf("-----------the sudent's information----------\n");
printf("Name:%s\n",(*pStruct).cName);
printf("Number:%d\n",(*pStruct).iNumber);
printf("Sex:%c\n",(*pStruct).cSex);
printf("Grade:%d\n",(*pStruct).iGrade);
printf("============使用->符號引用結構體成員==============\n");
printf("Name:%s\n",pStruct->cName);
printf("Number:%d\n",pStruct->iNumber);
printf("Sex:%c\n",pStruct->cSex);
printf("iGrade:%d\n",pStruct->iGrade);
return 0;
}
1.student.iNumber
2.(*pStruct).iNumber
3.pStruct->iNumber
後兩種是通過結構體變量指針來引用的結構體變量中的成員,第2種在*pStruct上加上小括號的原因是因爲要提升 ”*pStruct“ 的運算優先級,因爲在默認情況 . 運算符的優先級是比*運算符的優先級要高的。