c语言关于函数指针和指针函数的区别
函数指针顾名思义指向函数的指针,其重点在于是一个指针,该指针与普通指针变量的区别是指向的对象是函数。例如:
void (*p)(void);其指针p指向的对象是函数 void inerface (void).
函数指针一般较常用,其在嵌入式开发中,一般用于多个硬件界面状态的切换。
void main()
{
void (*p)(void);//定义一个函数指针
int a=1;
if(a==1)
{p=interface1;}//p指向interface1函数
else
{
p=interface2;//p指向interface2函数
}
p();//执行函数指针指向的对象
}
指针函数顾名思义是一个函数,其返回值的类型为指针。例如:
int *p(void);其返回值是一个整型的指针变量。
void main(void)
{
p();
}
int *p(void)
{
int a=1;
int *b;
b=a;//
return b;//返回值是一个指针,其指向int变量a
指针函数一般用于输出字符串的、数组等多数据场合,用于输出字符串的数据
}