在结构体中定义函数指针,然后对其调用(和类调用的方法是一样的~)在调用时对其赋值。
#include<stdio.h>
struct square
{
int weight;
int width;
int height;
int (*add )(int a,int b);
};
int square_add(int a,int b)
{
return a+b;
}
int bulk(int length,int width,int height)
{
struct square squ =
{
.length = length,
.width = width,
.height =height,
add:square_add,
};
printf("Add() is %d\n",squ.add(100,200));
printf("Length is %d\n",squ.length);
……
}
int main()
{
printf("The square is %d\n",bulk(100,200,300));
return 0;
}