函数指针

时间:2024-03-23 16:21:27编辑:奇事君

c语言中函数名就是一个指针吗

是的。函数指针就是函数的指针,它是一个指针,指向一个函数。这正如用指针变量可指向整型变量、字符型、数组一样,这里是指向函数。例:A)char*(*fun1)(char*p1,char*p2);B)char**fun2(char*p1,char*p2);表达式相比,唯一不同的就是函数的返回值类型为char**,是个二级指针。C)char*fun3(char*p1,char*p2);fun3是函数名,p1,p2是参数,其类型为char*型,函数的返回值为char*类型。扩展资料函数指针使用的例子#include#includechar*fun(char*p1,char*p2){inti=0;i=strcmp(p1,p2);if(0==i){returnp1;}else{returnp2;}}intmain(){char*(*pf)(char*p1,char*p2);pf=&fun;(*pf)("aa","bb");return0;}

c语言中函数名就是一个指针吗?

是的。c语言中, 函数名也称为函数的指针,所以c语言中函数名就是一个指针。“函数指针”本身首先应是指针变量,只不过该指针变量指向函数。这正如用指针变量可指向整型变量、字符型、数组一样,这里是指向函数。如前所述,C在编译时,每一个函数都有一个入口地址,该入口地址就是函数指针所指向的地址。有了指向函数的指针变量后。可用该指针变量调用函数,就如同用指针变量可引用其他类型变量一样,在这些概念上是大体一致的。函数指针有两个用途:调用函数和做函数的参数。扩展资料:如果一个变量声明时在前面使用 * 号,表明这是个指针型变量。换句话说,该变量存储一个地址,而 *(此处特指单目运算符 * ,下同。C语言中另有 双目运算符 *) 则是取内容操作符,意思是取这个内存地址里存储的内容。指针是 C 语言区别于其他同时代高级语言的主要特征之一。指针不仅可以是变量的地址,还可以是数组、数组元素、函数的地址。通过指针作为形式参数可以在函数的调用过程得到一个以上的返回值,不同于return(z)这样的仅能得到一个返回值。指针是一把双刃剑,许多操作可以通过指针自然的表达,但是不正确的或者过分的使用指针又会给程序带来大量潜在的错误。参考资料来源:百度百科--函数指针参考资料来源:百度百科--C语言

上一篇:谁主浮沉

下一篇:三个宇宙速度