结构体中的指针
结构体中的函数指针
C++中面向对象的实现过程,其实是在结构体中加入函数指针用来调用成员函数的;
函数指针详解
include<stdio.h>
typedef void (*PRINT) (struct *pMM); // 声明一个函数指针,这个函数指针的参数为struct *pMM类型的
struct MM{
int age;
char* name;
*PRINT pPrint;//定义一个结构体函数指针
};
struct MM* createMM(char *name,int age)//创建一个MM类型
{
struct MM* mm = (struct MM*)malloc(sizeof(struct MM));
assert(mm); //断言,防止mm这个空间开辟失败,如果开辟失败的话程序将不会实行
//二次申请空间,因为开辟的mm的空间只有一个char类型的指针和一个int,四位存取的话肯定不够
mm->name = (char *)malloc(sizeof(name));
strcpy(mm->name,name); //字符赋值的话只能用strcpy函数
mm->age = age;
mm->pPrint = printMM;//把函数指针指向pPrint函数
return mm;
};
void printMM(struct MM* pMM )
{
printf("%s\t%d\n",pMM->name,pMM->age);
}
int main()
{
struct MM* mm = createMM("小明",18);
pPrint(mm);
mm->pPrint(mm);
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现