结构体要储存数据,储存在电脑中的数据都有地址。结构体变量的内存首地址保存起来,就是结构体指针。
定义的语法:
类型 *指针变量名;
struct 结构体名 *指针变量名;
结构体指针的赋值:
指针变量名 = 地址;
指针变量名 = &结构体变量;
例如:
typedef struct{
char name[50];
int age;
}person;
1.先定义,再赋值
}PersonPerson p = {"弘毅",24};
Person *ppt;
ppt = &p;
w.声明的时候初始化:
Person p = {"弘毅",24};
Person *ppt = &p;
通过结构体指针访问结构体变量的成员:
1.使用*来访问
语法: (*指针变量名).成员名;
(*ppt).age;
2.使用->来访问
语法:指针变量名->成员名;
ppt->age;
赋值:
1.使用*来访问
语法: (*指针变量名).成员名 =数据;
(*ppt).age = 16;
2.使用->来访问
语法:指针变量名->成员名 =数据;
ppt->age = 16;
习题例句:
#include <stdio.h>
typedef struct{
char name[50];
int age;
}Person;
int main() {
Person p ={"段弘毅",24};
Person *ppt;
ppt = &p;
*ppt; //*ppt 就等同于p
// printf("age=%d\n",(*ppt).age);
printf("age=%d\n",ppt->age);//88
(*ppt).age = 16;
printf("age=%d\n",p.age);//16
ppt->age = 28;
printf("age=%d\n",p.age);//28
return 0;
}