估计楼主想查“大表”吧,你可以把大表分割为每个不大于255个字节的小表,然后依据条件查某个小表:const
麻阳网站制作公司哪家好,找成都创新互联!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。成都创新互联成立于2013年到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联。
unsigned
char
Tab0[200]
={
赋值语句};const
unsigned
char
Tab1[200]
={
赋值语句};const
unsigned
char
Tab2[200]
={
赋值语句};unsigned
char
GetData(unsigned
int
Index){
switch
(Index
8)
{
case
0:
return
Tab0[(unsighed
char)Index];
case
1:
return
Tab1[(unsighed
char)Index];
}
return
Tab2[(unsighed
char)Index];}数组元素如果是其它数据结构,如
int
或
long
等,可依此类推,但必须保证每个数组的最大尺寸不超过
255,这是由
PIC
单片机特殊的查表方式决定的。
函数指针是指向函数的指针变量。 因而“函数指针”本身首先应是指针变量,只不过该指针变量指向函数。这正如用指针变量可指向整型变量、字符型、数组一样,这里是指向函数。
函数指针有两个用途:调用函数和做函数的参数。
函数指针的声明方法为:
返回值类型 ( * 指针变量名) ([形参列表]);
如:
int func(int x); /* 声明一个函数 */
int (*f) (int x); /* 声明一个函数指针 */
f=func; /* 将func函数的首地址赋给指针f */
或者使用下面的方法将函数地址赋给函数指针:
f = func;
赋值时函数func不带括号,也不带参数,由于func代表函数的首地址,因此经过赋值以后,指针f就指向函数func(x)的代码的首地址。
下面的程序说明了函数指针调用函数的方法:
#includestdio.h
int max(int x,int y){return (xy? x:y);}
int main()
{
int (*ptr)(int, int);
int a, b, c;
ptr = max;
scanf("%d%d", a, b);
c = (*ptr)(a,b);
printf("a=%d, b=%d, max=%d", a, b, c);
return 0;
}
最简单的方式就是在你调用的函数后面加跳转语句 例如 goto a;然后你在你MAIN函数的定义变量的后面加上a:就行了虽然不推荐用这种方式 但这是最简单的。你也可以用其他的例如 while for do while 等循环语句写这个
在C语言中,每个函数都有其入口地址,调用函数实际上是程序流程的指针跳转到该函数入口并顺序执行函数体
在main中定义了一个指向函数入口的指针void (*ptr)(void),这个指针指向函数入口地址,在func1中调用p(),实际上是跳转至p指向的函数入口地址,在mian函数中,通过switch语句将不同的输入对应不同的函数入口地址,比如如果输入1,就将one()的入口地址赋值给ptr,以此类推。执行func1,p()这一句的意思就是告诉计算机下边将转到p指向的程序入口地址,执行子程序。
函数内部也可以嵌套调用的,还可以调用自身,总之你要知道在C里面一切都是函数,就想java里一切都是对象,主函数也是函数,和其他函数一样,唯一不同的它不能重载,呵呵
最好把代码发来,不然太抽象,一小段也行