C语言结构体函数指针
#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语言结构体函数指针相关推荐
- C语言-结构体函数(录入书本的信息)
C语言-结构体函数(struct)-指针,结构体变量 利用struct类型的结构体录入书本的信息,首先仅仅是使用结构体类型的变量,存放数据不使用结构体类型的指针 编译运行 OK没毛病,运行结果 这是利 ...
- c 结构体 函数 指针
#include "stdio.h" struct DEMO { int x,y; int (*func)(int,int); //函数指针 }; int add2(int x,i ...
- C 语言结构体数组指针以及函数
结构体数组指针 指针变量可以指向一个结构体数组,这时指针变量的值是整个数组的首地址. 设 ps 为指向结构体数组的指针变量,则 ps 也指向该结构体数组的第 0个元素,ps+1 指向第一个元素,ps+ ...
- 单片机-结构体函数指针高级使用方法
概述 C语言结构体对函数指针封装示例(面向对象思想写法) 案例1: 1.示例: #include <stdio.h>#define FUN_1 0U //方法1: #define FUN_ ...
- c语言结构体函数排序,(为什么不能给分?)结构体数组插入排序的函数有关问题,...
当前位置:我的异常网» C语言 » (为什么不能给分?)结构体数组插入排序的函数有关 (为什么不能给分?)结构体数组插入排序的函数有关问题, www.myexceptions.net 网友分享于:2 ...
- C语言函数指针(结构体函数指针)
文章目录 20211126 这篇讲得好 参考文章1:C语言函数指针(指向函数的指针)详解 函数指针的定义形式: returnType (*pointerName)(param list); 示例代码: ...
- C语言结构体与指针ppt,c语言指针和结构体:链表详解.ppt
c语言指针和结构体:链表详解.ppt 1,第十一章 链表,2,例跳马.依下图将每一步跳马之后的位置x,y放到一个"结点"里,再用"链子穿起来",形成一条链,相邻 ...
- C语言结构体变量 指针以及对结构体成员的访问
文章目录 结构体 结构体变量访问成员的方法 结构体指针变量访问成员的方法 结构体 struct AGE {int year;int month;int day; }; struct STUDENT { ...
- C语言结构体中指针指向数组,指向结构体类型数组的指针的使用
指向结构体类型数组的指针的使用 定义一个结构体类型数组,其数组名是数组的首地址,下面是关于指向结构体类型数组的指针的使用具体介绍,欢迎阅读! 定义结构体类型的指针,既可以指向数组的元素,也可以指向数组 ...
最新文章
- 萨克斯维修服务器,萨克斯常见故障修理方法
- 开放下载!《阿里云存储白皮书》全面解读阿里云存储二十年的技术演进
- 微型计算机原理中断实验,微机原理实验---中断控制实验.doc
- 视觉SLAM笔记(32) 2D-2D: 对极几何
- Performance of Every Day Things by Jeffrey Richter PPT and Code
- android canvas 工作流_行情艰难,Android初中级面试题助你逆风翻盘,每题都有详细答案...
- wpf中的默认右键菜单中的复制、粘贴、剪贴等没有本地化的解决方式
- 语音合成(TTS)应用方案一二三
- 超牛逼的性能调优利器 — 火焰图
- 物料编码是计算机识别和检索物料的( ),物料编码是计算机识别和检索物料的
- 逐星mrp生产管理系统 msn软件下载
- linux下重装显卡驱动
- Halcon_3D点云筛选,目标轮廓提取,切平面求取目标间隙宽度
- 开发板识别不了SD/TF卡
- matplotlib之hist
- 用MSYS2编译diction程序
- 哪款蓝牙耳机降噪效果好?降噪效果好的蓝牙耳机排行榜
- 谨防Wi-Fi时代的***屠城
- 肯德基宅急送网上订餐系统(移动扫码点餐)的设计与实现(小程序+PHP+MySQL)
- ps如何放大缩小图层