# 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“ 的运算优先级,因为在默认情况 . 运算符的优先级是比*运算符的优先级要高的。