您的位置:首页 > 其它

学习到了 一种新的函数调用方法

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;
}
}百度到的查表算法,,,做个记录
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C 结构体
相关文章推荐