<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. C語言

    C語言結構體中的函數指針

    時間:2025-03-21 15:26:18 C語言 我要投稿
    • 相關推薦

    C語言結構體中的函數指針

      C語言結構體中的函數指針內容由小編收集整理,希望對您的 學習有所幫助!更多內容請關注應屆畢業生考試網!

      結構體是由一系列具有相同類型或不同類型的數據構成的數據集合。所以,標準C中的結構體是不允許包含成員函數的,當然C++中的結構體對此進行了擴展。那么,我們在C語言的結構體中,只能通過定義函數指針的方式,用函數指針指向相應函數,以此達到調用函數的目的。

      1. 函數指針

      一般的函數指針可以這么定義:

      int(*func)(int,int);

      表示一個指向含有兩個int參數并且返回值是int形式的任何一個函數指針. 假如存在這樣的一個函數:

      int add2(int x,int y)

      {

      return x+y;

      }

      那么在實際使用指針func時可以這樣實現:

      func=&add2; //指針賦值,或者func=add2; add2與&add2意義相同

      printf("func(3,4)=%d"n",func(3,4));

      事實上,為了代碼的移植考慮,一般使用typedef定義函數指針類型.

      typedef int(*FUN)(int,int);

      FUN func=&add2;

      func();

      2.結構體中包含函數指針

      其實在結構體中,也可以像一般變量一樣,包含函數指針變量.下面是一種簡單的實現.

      #include "stdio.h"

      struct DEMO

      {

      int x,y;

      int (*func)(int,int); //函數指針

      };

      int add2(int x,int y)

      {

      return x+y;

      }

      void main()

      {

      struct DEMO demo;

      demo.func=&add2; //結構體函數指針賦值

      printf("func(3,4)=%d"n",demo.func(3,4));

      }

    【C語言結構體中的函數指針】相關文章:

    C語言指針函數和函數指針詳解12-08

    C語言的指針型函數02-20

    C語言函數指針變量06-04

    C語言中指針函數與函數指針有何區別02-28

    C語言函數指針與回調函數詳解03-26

    初步剖析C語言編程中的結構體02-18

    講解C語言編程中的結構體對齊01-17

    C語言的指針12-21

    C語言結構體定義06-25

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人