/*函数传参*/
#include <stdio.h>
int a=1,b=2;
int *p;
//传p地址函数
void fun(int **t){
*t=&b;
}
/*//传a地址函数
void fun(int *t){
*t=b;
}
*/
int main(int argc, char const *argv[])
{
p=&a;
printf("%d\n",*p);
fun(&p);//传p地址
//fun(p);//传a地址
printf("%d\n",*p);
return 0;
}
/*函数指针*/
#include <stdio.h>
int add(int a,int b)
{
return (a+b);
}
int main()
{
int (*ptr)(int,int); // 定义/声明
ptr = add; // 初始
int val;
val = ptr(1,2); // 使用
printf("val = %d\n",val);
return 0;
}
// 示例二
typedef int (*fun_ptr)(int,int); //??? //1. 定义函数指针类型
int add(int a,int b)
{
return (a + b);
}
int main(int argc,char **argv)
{
fun_ptr fptr = add; //2. 声明指针类型变量,初始化指针类型变量
int val;
val = fptr(1,2); //3. 调用函数指针
printf("val =%d\n",val);
return 0;
}