<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            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

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看