函式指標 結構體struct

2021-06-07 14:30:47 字數 850 閱讀 1133

#include

typedef int (*func_t)();

typedef struct sopopnum;

int add(int num1,int num2)

int sub(int num1,int num2)

int mult(int num1,int num2)

int div(int num1,int num2)

int main()

{opnum a;

a.num1 = 20;

a.num2 = 10;

a.op = sub;

printf("%d - %d = %d\n",a.num1,a.num2,a.op(a.num1,a.num2));

a.op = add;

printf("%d + %d = %d\n",a.num1,a.num2,a.op(a.num1,a.num2));

a.op = mult;

printf("%d * %d = %d\n",a.num1,a.num2,a.op(a.num1,a.num2));

a.op = div;

printf("%d / %d = %d\n",a.num1,a.num2,a.op(a.num1,a.num2));

return 0;

結果:20 - 10 = 10

20 + 10 = 30

20 * 10 = 200

20 / 10 = 2

在程式執行中,函式**是程式的演算法指令部分,它們和陣列一樣也占用儲存空間,都有相應的位址。可以使用指標變數指向陣列的首位址,也可以使用指標變數指向函式**的首位址,指向函式**首位址的指標變數稱為函式指標。

1 3 struct 結構體 結構體與函式

5 結構與函式 結構體作為函式的變元 struct family 比較兩個家庭的媽媽 是否相同。是返回0 否則返回非0 int siblings struct family member1,struct family member2 注 使用結構體作為函式引數,編譯器會將實參結構體中的成員複製乙份到...

C 結構Struct與指標,函式

指標傳遞,不返回值 include include struct student scores intgrades void changeinfo struct student p void displayinfo struct student s intmain 7 一次性全部賦值,如果缺少,會有...

什麼結構體 struct

簡單的來說,結構體就是乙個可以包含不同資料型別的乙個結構,它是一種可以自己定義的資料型別,它的特點和陣列主要有兩點不同,首先結構體可以在乙個結構中宣告不同的資料型別,第二相同結構的結構體變數是可以相互賦值的,而陣列是做不到的,因為陣列是單一資料型別的資料集合,它本身不是資料型別 而結構體是 陣列名稱...