学习到了 一种新的函数调用方法
2018-03-08 16:46
211 查看
2018.2.20#include <stdio.h>
void fun();
typedef struct
{
long time;
void (*function)(void);
} STRUCT;
const STRUCT ARRAY[] =
{
{0, fun}
};
void fun()
{
printf("3");
}
void main()
{
ARRAY[0].function();
while(1);
}我目前的理解是在主函数中调用的数组ARRAY直接将函数fun的指针传递给了结构体STRUCT中的function指针变量,这样就实现了在结构体中访问指针。如有错误,欢迎各位大佬批评指正。
2018.3.13#include <stdio.h>
#include <string.h>
typedef enum
{
sense_off,
sense_on,
sense_mask,
sense_unknow
}e_SENSE_Status;
e_SENSE_Status checkstatus(void)
{
return sense_off;
}
struct
{
long time;
e_SENSE_Status nowstatus;
e_SENSE_Status laststatus;
e_SENSE_Status (*check)(void);
}SENSE_Status[4]=
{
{0,sense_unknow,sense_unknow,(*checkstatus)}, //acc
{0,sense_unknow,sense_unknow,(*checkstatus)}, //bup
{0,sense_unknow,sense_unknow,(*checkstatus)}, //DVD
{0,sense_unknow,sense_unknow,(*checkstatus)} //USB
};
int main()
{
int a = 10;
printf("%d",SENSE_Status[3].check());
return 0;
}
一种给各个模块进行状态赋值以及检测状态的方法~#include<stdio.h>
struct data
{
int t;
float m;
};
struct data a[]={{0,29.4},{10,33.3},{20,37.2},{30,41.4},{40,45.8},{50,50.4},{60,55.2},{70,60.2},{80,65.6}};
int main()
{
int n,i;
scanf("%d",&n);
for(i=0;i<9;i++)
if(a[i].t==n)
{
printf("%3.1f\n",a[i].m);
break;
}
}百度到的查表算法,,,做个记录
void fun();
typedef struct
{
long time;
void (*function)(void);
} STRUCT;
const STRUCT ARRAY[] =
{
{0, fun}
};
void fun()
{
printf("3");
}
void main()
{
ARRAY[0].function();
while(1);
}我目前的理解是在主函数中调用的数组ARRAY直接将函数fun的指针传递给了结构体STRUCT中的function指针变量,这样就实现了在结构体中访问指针。如有错误,欢迎各位大佬批评指正。
2018.3.13#include <stdio.h>
#include <string.h>
typedef enum
{
sense_off,
sense_on,
sense_mask,
sense_unknow
}e_SENSE_Status;
e_SENSE_Status checkstatus(void)
{
return sense_off;
}
struct
{
long time;
e_SENSE_Status nowstatus;
e_SENSE_Status laststatus;
e_SENSE_Status (*check)(void);
}SENSE_Status[4]=
{
{0,sense_unknow,sense_unknow,(*checkstatus)}, //acc
{0,sense_unknow,sense_unknow,(*checkstatus)}, //bup
{0,sense_unknow,sense_unknow,(*checkstatus)}, //DVD
{0,sense_unknow,sense_unknow,(*checkstatus)} //USB
};
int main()
{
int a = 10;
printf("%d",SENSE_Status[3].check());
return 0;
}
一种给各个模块进行状态赋值以及检测状态的方法~#include<stdio.h>
struct data
{
int t;
float m;
};
struct data a[]={{0,29.4},{10,33.3},{20,37.2},{30,41.4},{40,45.8},{50,50.4},{60,55.2},{70,60.2},{80,65.6}};
int main()
{
int n,i;
scanf("%d",&n);
for(i=0;i<9;i++)
if(a[i].t==n)
{
printf("%3.1f\n",a[i].m);
break;
}
}百度到的查表算法,,,做个记录
相关文章推荐
- 数据结构和算法学习系列之快速排序的Partition函数一种实现方法
- MSSQL对函数的调用方法不止一种哦
- 递归算法是一种直接或者间接调用自身函数或者方法的算法
- vb.net一种简单的方法动态调用标准dll中函数
- 调用jupyter notebook文件内的函数一种简单方法
- 例题:把机选双色球做成函数题。public定义函数,可以定义多种类型,也可以定义集合,学习函数题多一种方法。
- nios软核cpu中架构类shell的一种解决方式『linux 系统函数调用的方法』
- 学习C#高级编程--在重写基类的方法中,如何调用基类的函数
- 编写c51程序调用汇编函数的一种方法
- FireBreath学习之三 JSAPIAuto类的成员函数说明和插件调用DOM方法/属性一般形式
- 一种显示函数被调用的堆栈信息的方法
- 父类的正常成员函数子类可以使用,并不是继承下来 的,子类是怎么调用父类的函数 : 可能是利用了一种叫函数名联编的方法.没有隐藏的情况下用函数名字来决定调用的函数.
- c++学习笔记之基础---类内声明函数后在类外定义的一种方法
- JavaScript学习--Item8 函数,方法,构造函数调用 标签: javascript构造函数面向对象函数call
- OpenCV2.2调用highgui函数总是出错,一种可能的解决方法
- VC中调用其他应用程序的方法(函数) WinExec,ShellExecute ,CreateProcess
- 学习Altas 笔记[js调用重载的方法出错,如何处理]
- VB动态调用外部函数的方法
- PYTHON中的函数指针调用的一种方法
- Delphi中调用C约定不定参数函数的调用方法.