第九十五章:不是吧不是吧?第2/3段
#include<stdio.h>
int* fun(int* x)
//传入指针
{
int* tmp = x;
//指针tmp指向x
return tmp;
//返回tmp指向的地址
}
int main()
{
int b = 2;
int* p =&b;
//p指向b的地址
printf(“%d“,*fun(p));
//输出p指向的地址的值
return 0;
}
双斜杠即是强大,在斜杠后面没有什么能够逃避这种被屏蔽的命运。
不用过多地使用C compiler输出结果为2。
函数指针是,指向函数的指针,主体是指针,指向的是一个函数的地址。
基本声明形式:返回数据类型+(*函数名)+(变量类型1,…);
注意*和函数名要用括号括起来,否则因为运算符的优先级原因就会变成指针函数。
下里巴人的语言真的通俗易懂。
#include<stdio.h>
int add(int x,int y)
{
return x + y;
}
int (*fun)(int,int);
//声明函数指针
int main()
{
fun =&add;
//fun函数指针指向add函数
printf(“%d “,fun(3,5));
printf(“%d“,(*fun)(4,2));
return 0;
}
此时的输出结果为:8和6
上面的样例中msp;{
本章未完,请点击下一段进行阅读!