结构指针指向的是结构的开始地址,然后从开始地址处去寻找结构里面的数据,这个和结构名称是一样的用法。
而数据,字符等指针,指向的是直接的数据,可以直接指向结构里的数据,而不用先找到结构名(结构的首地址)。
举个例子:
struct student
{
unsigned char age; //年龄
unsigned int number; //学号
unsigned char name[10]; //名字
}; //学生结构
student std1={20,11111,"xiaoming"};//学生1的数据
student *pstd=std1; //指针指向std1
unsigned char *ag=std1.age;
unsigned char hhh;
//如果要调用学生的年龄可以有3种方法
hhh=std1.age; //用结构名调用结构数据
hhh=ag->age; //用指向结构的指针调用结构中的数据
hhh=*ag; //直接用指针指向结构中的数据并调用
呵呵,不要害怕指针,没有什么的,要知道它里面装的是地址就可以了! |