void CallMyFun(FunType fp,int x);是一个包含函数指针的函数!
安次网站制作公司哪家好,找成都创新互联公司!从网页设计、网站建设、微信开发、APP开发、响应式网站建设等网站项目制作,到程序开发,运营维护。成都创新互联公司自2013年起到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联公司。
fp只是函数指针的名称,是 CallMyFun函数的形参,这个名称你可以随便取的
当调用CallMyFun(MyFun1,10);//假设调用此变量时,
fp指代的就是MyFun1函数,而MyFun1的参数哪里来?就是通过CallMyFun的第2个参数传递进来的,这里是10
所以运行CallMyFun(MyFun1,10);函数,其实就是运行了call MyFun1(10)
所以运行CallMyFun(MyFun2,20);函数,其实就是运行了call MyFun2(20)
所以fp(x)指代的是一个函数,如果要输出他的结果,那在定义MyFun1,MyFun2时,函数就需要有返回值,而不能用void
在C语言中,函数的使用与编程是密不可分的,下面给大家说说C语言函数的运用和调用?
01
第一步是声明一个函数。 有两种类型的函数,一种是返回值,前者是用int float double char定义的,如int f(int n); 前面的int是返回值类型。
02
参数是函数调用需要传递的参数。 每个参数由一个数据类型和一个标识符名称组成,如变量声明(例如,int x)。
03
参数只在函数的范围内有效,并且可以以与函数中其他变量相同的方式使用。 它们允许函数在调用时传递参数,而不同的参数由逗号分隔。
04
声明是函数的内容。 它可以是一条指令或一条指令。 如果它是一组指令,则语句块必须包含在大括号{}中,这是我们最常见的情况。
1、值传递,创建变量x和y,x的值等于a的值,y的值等于b的值
void Exchg1(int x, int y)
{
int tmp;
tmp=x;
x=y;
y=tmp;
printf(“x=%d,y=%d/n”,x,y)
}
void main()
{
int a=4,b=6;
Exchg1 (a,b) ;
printf(“a=%d,b=%d/n”,a,b)
}
2、地址传递,相当于建立了px和py两个指向整型的指针,其值分别为a和b的地址
Exchg2(int *px, int *py)
{
int tmp=*px;
*px=*py;
*py=tmp;
print(“*px=%d,*py=%d/n”,*px,*py);
}
main()
{
int a=4;
int b=6;
Exchg2(a,b);
Print(“a=%d,b=%d/n”, a, b);
}
3、引用传递,x和y直接引用a和b,对a和b操作,相当于给a、b起了别名x、y
Exchg2(int x, int y)
{
int tmp=x;
x=y;
y=tmp;
print(“x=%d,y=%d/n”,x,y);
}
main()
{
int a=4;
int b=6;
Exchg2(a,b);
Print(“a=%d,b=%d/n”, a, b);
}
扩展资料:
printf用法:
printf()函数的调用格式为:printf("lt;格式化字符串gt;",lt;参量表gt;)。
其中格式化字符串包括两部分内容:一部分是正常字符,这些字符将按原样输出;另一部分是格式化规定字符,以"%"开始,后跟一个或几个规定字符,用来确定输出内容格式。
参量表是需要输出的一系列参数,其个数必须与格式化字符串所说明的输出参数个数一样多,各参数之间用","分开,且顺序一一对应,否则将会出现意想不到的错误。
比如:
int a=1234;
printf("a=%d\n",a);
输出结果为a=1234。