#include<stdio.h>
typedef void (pFunc)(void);//用函数宏定义,定义一个函数
#define add_argv 0
#define sub_argv 1
#define mul_argv 2
#define div_argv 3
void add(void)
{
int a = 12;
int b = 4;
printf("in add:a+b=%d\n",a+b) ;
}
void sub(void)
{
int a = 12;
int b = 4;
printf("in sub:a-b=%d\n",a-b) ;
}
void div(void)
{
int a = 12;
int b = 4;
printf("in div:a/b=%d\n",a/b) ;
}
void mul(void)
{
int a = 12;
int b = 4;
printf("in mul:a*b=%d\n",a*b) ;
}
/***********函数遍历******************
void main(void)
{
pFunc ** func;
pFunc * func_arr[]={
add,
sub,
mul,
div,
NULL
};
for(func=func_arr;*func!=NULL;++func)
{
(*func)();
}//这个是函数遍历 移植与Uboot中,在Uboot中为的是在启动过程中,程序按照顺序执行,
//而且能检查其返回类型 是否正确
}*/
/***********用数组指针调用函数******************/
void main(void)
{
pFunc * func_arr[]={
add,
sub,
mul,
div,
NULL
};
func_arr[sub_argv]();
}
代码记录,学习uboot中uboot启动代码时,看到有感而记录,也忽然发现,学习嵌入式对字符串处理的函数代码应该烂熟于心!!