C語言結構體通過指針呼叫函數
(C語言結構體不能直接放函數,C++可以)
#include<stdio.h>
#include<stdlib.h>
int j(int a)//平方
{
int c;
c = a * a;
return c;
}
int s(int b)//三次方
{
int d;
d =b*b*b;
return d;
}
struct Str
{
int(*p)(int b);//p爲函數指針,若呼叫的函數沒有參數則爲(*p)();
};
void main()
{
int b = 10;
struct Str str = { s };//初始化,傳所呼叫的那個函數名或者在名字加&
printf("%d", str.p(b));//.和()同級且從左往右計算
}