functionpointer就是函數(shù)指針,指向一個(gè)函數(shù),該函數(shù)的原型類似
在欽南等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站制作、網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需設(shè)計(jì)網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),成都全網(wǎng)營銷,成都外貿(mào)網(wǎng)站建設(shè),欽南網(wǎng)站建設(shè)費(fèi)用合理。
void function(pStruct_X * p)
P.functionpointer,就等于是調(diào)用該函數(shù)了。
不過你的代碼中,沒寫初始化,到底這個(gè)函數(shù)指針是指向哪個(gè)函數(shù)。
//在結(jié)構(gòu)體中包含函數(shù)指針,
//這樣,可以使用結(jié)構(gòu)體,調(diào)用函數(shù)。
//這個(gè)有點(diǎn)像C++的面向?qū)ο蟮念?
//十分好用。?
#include?"stdio.h"??
struct?DEMO??
{??
int?x,y;??
int?(*func)(int,int);?//函數(shù)指針??
};??
int?add2(int?x,int?y)??
{??
return?x+y;??
}??
int?main()??
{
int?ret=0;
struct?DEMO?demo;??
demo.func=add2;?//結(jié)構(gòu)體函數(shù)指針賦值??
ret=demo.func(3,4);
printf("func(3,4)=%d\n",ret);??
}
純C標(biāo)準(zhǔn)中是不可以的 如果需要在結(jié)構(gòu)體里放函數(shù) 那你就在結(jié)構(gòu)體里放函數(shù)指針把,把指針指向相應(yīng)函數(shù)就好