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

    C語言函數指針變量

    時間:2025-06-04 00:10:42 C語言 我要投稿

    C語言函數指針變量

      導語:在C語言中規定,一個函數總是占用一段連續的內存區, 而函數名就是該函數所占內存區的首地址。 這就是函數指針變量。下面是相關介紹,僅供參考!

      在C語言中規定,一個函數總是占用一段連續的內存區, 而函數名就是該函數所占內存區的首地址。 我們可以把函數的這個首地址(或稱入口地址)賦予一個指針變量, 使該指針變量指向該函數。然后通過指針變量就可以找到并調用這個函數。 我們把這種指向函數的指針變量稱為“函數指針變量”。

      函數指針變量定義的一般形式為:

      類型說明符 (*指針變量名)();

      其中“類型說明符”表示被指函數的返回值的類型。“(* 指針變量名)”表示“*”后面的變量是定義的指針變量。 最后的空括號表示指針變量所指的是一個函數。

      例如: int (*pf)();

      表示pf是一個指向函數入口的指針變量,該函數的返回值(函數值)是整型。

      下面通過例子來說明用指針形式實現對函數調用的方法。

      int max(int a,int b){

      if(a>b)return a;

      else return b;

      }

      main(){

      int max(int a,int b);

      int(*pmax)();

      int x,y,z;

      pmax=max;

      printf("input two numbers:/n");

      scanf("%d%d",&x,&y);

      z=(*pmax)(x,y);

      printf("maxmum=%d",z);

      }

      從上述程序可以看出用,函數指針變量形式調用函數的步驟如下:

      1. 先定義函數指針變量,如后一程序中第9行 int (*pmax)();定義pmax為函數指針變量。

      2. 把被調函數的入口地址(函數名)賦予該函數指針變量,如程序中第11行 pmax=max;

      3. 用函數指針變量形式調用函數,如程序第14行 z=(*pmax)(x,y); 調用函數的一般形式為: (*指針變量名) (實參表)使用函數指針變量還應注意以下兩點:

      a. 函數指針變量不能進行算術運算,這是與數組指針變量不同的。數組指針變量加減一個整數可使指針移動指向后面或前面的數組元素,而函數指針的移動是毫無意義的。

      b. 函數調用中"(*指針變量名)"的兩邊的括號不可少,其中的*不應該理解為求值運算,在此處它只是一種表示符號。


    【C語言函數指針變量】相關文章:

    C語言指針變量的運算10-31

    C語言指針變量的類型07-31

    C語言指針函數和函數指針詳解09-29

    C語言中指針變量作為函數參數詳解07-01

    C語言的指針型函數09-04

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

    C語言函數指針與回調函數詳解10-02

    c語言數組指針變量的說明和使用07-26

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

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