日本无码中文字幕片|日本精品在线观看无码视频|国产精品免费啪啪|Av无码一区二区|亚洲在线黄片免费观看|亚洲日韩中文字幕在线观看|熟女激情乱伦在线观看a黄片|成年人观看毛片网址|AV色色色色日韩性草|国产高清无码免费

C語言函數指針變量

時間:2025-11-27 20:17:51 C語言

C語言函數指針變量

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

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

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

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

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

  例如: 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語言指針變量的類型01-23

C語言指針變量的運算09-30

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

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

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

C語言函數指針與回調函數詳解09-24

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

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

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