2020-08-13僅供自己參考:C語言結構體通過指針呼叫函數

2020-08-13 16:15:01

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));//.和()同級且從左往右計算
}

在这里插入图片描述
在这里插入图片描述