//结构体指针
#include <stdio.h>
//定义结构Person用来描述人,其中包含一个函数指针用来表示当前这个人的生长方式
typedef struct{
unsigned short age;
//用pGrow函数指针记录每个人自己的生长方式
void (*pGrow)(void * pPerson);
}Person;
//正常人的生长方式,今年20明年21.参数是代表了某个人的结构提指针
void growup(void * pPer)
{
Person *pPerson = (Person*)pPer;
pPerson->age++;
}
//使用了某化妆品后的生长方式,今年20明年18
void growdown(void * pPer)
{
Person *pPerson = (Person*)pPer;
pPerson->age -= 2;
}
int main()
{
//声明两个结构体分别代表两个不同的人,每个结构提记录自己独有的生长方式
Person firstPerson = {20,growup};
Person secondPerson = {20,growdown};
//每个人使用自己的生长方式生长一次
firstPerson.pGrow(&firstPerson);
secondPerson.pGrow(&secondPerson);
//把生长后的年龄分别输出到屏幕上
printf("firstPerson.age是%hu\n",firstPerson.age);
printf("secondPerson.age是%hu\n",secondPerson.age);
return 0;
}
结构体指针
最新推荐文章于 2023-03-22 07:00:00 发布