相同点:
- 功能相同:访问结构体或者类的成员。
- 优先级相同。
不同点:
- 结构体变量用 . 来访问成员;
- 结构体指针用 ->来访问成员;
#include <stdio.h>
#include<string.h>
//首先定义结构体类型student,并通过typedef将struct student结构体类型换名为Stu
typedef struct student{int age;char name[100];
}Stu;
int main( ){Stu stu1={0};//在主函数中定义结构体变量stu1并初始化成员变量为0stu1.age=9;//结构体stu1通过【 . 】对其成员变量age进行访问,将age赋值为9strcpy(stu1.name,"小张");printf("%d %s \n",stu1.age,stu1.name);Stu stu2;//定义Stu类型结构体变量stu2Stu *pstu2;//定义Stu类型的指针变量pstu2pstu2=& stu2;//在pstu2的内存存放结构体变量stu2的首地址,pstu2->age=12;//通过【 -> 】对存放着结构体变量的地址的指针变量pstu2进行间接访问,进而访问stu2的结构体成员变量ageprintf("%d ",pstu2->age);return 0;
}