在C语言中,可以使用函数指针来将函数赋值给一个变量。函数指针是一个指针变量,它指向函数的地址,可以通过将函数名作为参数传递给指针变量来实现赋值。
例如,如果要将函数add()赋值给变量p,可以使用函数指针int (*p)() = add;。
这个语句声明了一个指向函数的指针变量p,它的返回类型为int,参数列表为空,赋值为add函数的地址。然后就可以通过调用指针变量p来执行add函数。
这种方式可以实现函数的动态调用和传递,提高了程序的灵活性和可维护性。
c语言通过函数赋给变量值
在C语言中,可以使用函数指针来将函数赋值给一个变量。函数指针是一个指针变量,它指向函数的地址,可以通过将函数名作为参数传递给指针变量来实现赋值。
例如,如果要将函数add()赋值给变量p,可以使用函数指针int (*p)() = add;。
这个语句声明了一个指向函数的指针变量p,它的返回类型为int,参数列表为空,赋值为add函数的地址。然后就可以通过调用指针变量p来执行add函数。
这种方式可以实现函数的动态调用和传递,提高了程序的灵活性和可维护性。
<script type="text/javascript">
function hi() {
var a = 1;
return function () {
document.writeln(a++);
};
};
var aaa = hi();
var bbb = hi;
aaa();//1
aaa();//2
alert(bbb());/esult:function () { document.write(a++);}
</script>
函数带括号与不带括号赋值给变量是有区别的:带括号赋值得到的是返回值运行的结果,返回的匿名函数有一个闭包,所以每次调用的时候使用的是同一个a;不带括号赋值得到的是函数表达式。