
我还有一个额外的查询,我如何在我的main函数中声明一个包含函数A(funcA)地址的指针?
#include<stdio.h>#include<stdlib.h>int funcB (voID){ printf("\n Now you are in function B \n "); printf ("\n this function is for returning code value no matter what\n"); return -10;}int (*funcA(int x,int y)) (voID){ printf( " I am in function A \n "); static int sum; sum=x+y; printf ( "\n Sum is %d ",sum); return &funcB; }int main (){int (*fpb)(voID);int x;fpb=funcA(10,15);x=(*fpb)(); // Calling function B through fpb pointerprintf("\n Value stored in x for code is %d \n",x);} 结果:
I am in function ASum is 25Now you are in function Bthis function is for returning code value no matter whatValue stored in x for code is -10解决方法 语法足够grokky,最好使用typedef.我不假设C 11.()s四处走动* nameOfType:
typedef int (*funcBTypePointer) (voID);int main (){ funcBTypePointer fpb; ...} 我看到funcA是返回funcB的地址.以下是如何做到这一点:
funcBTypePointer funcA(int x,int y){ printf( " I am in function A \n "); static int sum; sum=x+y; printf ( "\n Sum is %d ",sum); return funcB;} 如果你引用一个没有参数列表的函数,你会得到一个指向函数的指针; &安培;不需要.
有关函数指针的更多信息,请参阅本教程:http://www.learncpp.com/cpp-tutorial/78-function-pointers/
总结以上是内存溢出为你收集整理的c – 如何声明指向返回函数指针的函数的指针全部内容,希望文章能够帮你解决c – 如何声明指向返回函数指针的函数的指针所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)