#include <stdio.h>
#include <malloc.h>
typedef struct Value  //只有结构体变量才分配地址,而结构体的定义是不分配空间的
{int dat;char str;
}Value;typedef struct Fun{    //只有结构体变量才分配地址,而结构体的定义是不分配空间的int a,b;int m,n;void(*print)(void);           //函数指针,是一个指针变量,指向某个函数的地址,int (*add)(int a,int b);    //即可实现该函数的功能.int (*returnVal)(void);void(*test)(int m,int n);
}Fun;
/*****************************************************/
void print(void)
{printf("Print success!\n");
}int add(int a,int b)
{return a+b;
}
int returnVal(void)
{return 1024;
}
void TEST(int j,int k)
{printf("TEST():%d\n",j+k);
}/****初始化一个结构体变量****/
Fun f = {.a = 1,.b = 5,.m = 10,.print = print,.add = add,.returnVal = returnVal,.test = TEST                //将结构体test函数地址,指向TEST真正存在的函数
};
/*****************************/
int main(void)
{   Value *va = (Value*)malloc(sizeof(Value)); //初始化一个Value结构体的变量Fun   *t  = (Fun*)malloc(sizeof(Fun));      (*t).n  = 13;                               //等价于t->n = 13;va->dat = 12;printf("va->dat:%d\n",va->dat);printf("t->n:%d\n",t->n);print();                        printf("%d\n",f.add(f.a,f.b));printf("%d\n",f.returnVal());f.test(f.m,18);      //传入参数既可以是结构体变量f里的值,也可以外部输入TEST(50,100);   return 0;
}

C语言结构体函数指针相关推荐

  1. C语言-结构体函数(录入书本的信息)

    C语言-结构体函数(struct)-指针,结构体变量 利用struct类型的结构体录入书本的信息,首先仅仅是使用结构体类型的变量,存放数据不使用结构体类型的指针 编译运行 OK没毛病,运行结果 这是利 ...

  2. c 结构体 函数 指针

    #include "stdio.h" struct DEMO { int x,y; int (*func)(int,int); //函数指针 }; int add2(int x,i ...

  3. C 语言结构体数组指针以及函数

    结构体数组指针 指针变量可以指向一个结构体数组,这时指针变量的值是整个数组的首地址. 设 ps 为指向结构体数组的指针变量,则 ps 也指向该结构体数组的第 0个元素,ps+1 指向第一个元素,ps+ ...

  4. 单片机-结构体函数指针高级使用方法

    概述 C语言结构体对函数指针封装示例(面向对象思想写法) 案例1: 1.示例: #include <stdio.h>#define FUN_1 0U //方法1: #define FUN_ ...

  5. c语言结构体函数排序,(为什么不能给分?)结构体数组插入排序的函数有关问题,...

    当前位置:我的异常网» C语言 » (为什么不能给分?)结构体数组插入排序的函数有关 (为什么不能给分?)结构体数组插入排序的函数有关问题, www.myexceptions.net  网友分享于:2 ...

  6. C语言函数指针(结构体函数指针)

    文章目录 20211126 这篇讲得好 参考文章1:C语言函数指针(指向函数的指针)详解 函数指针的定义形式: returnType (*pointerName)(param list); 示例代码: ...

  7. C语言结构体与指针ppt,c语言指针和结构体:链表详解.ppt

    c语言指针和结构体:链表详解.ppt 1,第十一章 链表,2,例跳马.依下图将每一步跳马之后的位置x,y放到一个"结点"里,再用"链子穿起来",形成一条链,相邻 ...

  8. C语言结构体变量 指针以及对结构体成员的访问

    文章目录 结构体 结构体变量访问成员的方法 结构体指针变量访问成员的方法 结构体 struct AGE {int year;int month;int day; }; struct STUDENT { ...

  9. C语言结构体中指针指向数组,指向结构体类型数组的指针的使用

    指向结构体类型数组的指针的使用 定义一个结构体类型数组,其数组名是数组的首地址,下面是关于指向结构体类型数组的指针的使用具体介绍,欢迎阅读! 定义结构体类型的指针,既可以指向数组的元素,也可以指向数组 ...

最新文章

  1. 萨克斯维修服务器,萨克斯常见故障修理方法
  2. 开放下载!《阿里云存储白皮书》全面解读阿里云存储二十年的技术演进
  3. 微型计算机原理中断实验,微机原理实验---中断控制实验.doc
  4. 视觉SLAM笔记(32) 2D-2D: 对极几何
  5. Performance of Every Day Things by Jeffrey Richter PPT and Code
  6. android canvas 工作流_行情艰难,Android初中级面试题助你逆风翻盘,每题都有详细答案...
  7. wpf中的默认右键菜单中的复制、粘贴、剪贴等没有本地化的解决方式
  8. 语音合成(TTS)应用方案一二三
  9. 超牛逼的性能调优利器 — 火焰图
  10. 物料编码是计算机识别和检索物料的( ),物料编码是计算机识别和检索物料的
  11. 逐星mrp生产管理系统 msn软件下载
  12. linux下重装显卡驱动
  13. Halcon_3D点云筛选,目标轮廓提取,切平面求取目标间隙宽度
  14. 开发板识别不了SD/TF卡
  15. matplotlib之hist
  16. 用MSYS2编译diction程序
  17. 哪款蓝牙耳机降噪效果好?降噪效果好的蓝牙耳机排行榜
  18. 谨防Wi-Fi时代的***屠城
  19. 肯德基宅急送网上订餐系统(移动扫码点餐)的设计与实现(小程序+PHP+MySQL)
  20. ps如何放大缩小图层

热门文章

  1. UML——交互图(顺序图与协作图)
  2. ZBrush新手普遍疑惑,你遇到几个?常用ZBrush快捷键汇总
  3. uniapp全面屏手机设置底部安全区颜色
  4. 宁静优美景色动态特效404网页源码
  5. inout端口使用,一看即懂
  6. SATA2.0和SATA3.0硬盘速度对比
  7. 科普向 | 一文读懂什么是AI芯片
  8. python 作品 中学生_中学生Python创意编程
  9. 单独mybatis得使用
  10. 发送请求时,postman正常,微信小程序失败?