定義函式指標的兩種形式

2021-04-30 14:49:52 字數 580 閱讀 9014

定義函式指標的兩種形式

——林石 2009-07-09

我們在開發c/c++程式時,經常遇到需要定義函式指標的情況。為了增加**的可讀性,一般都會通過typedef形式定義函式指標型別。有兩種做法,如下:

其中,return_type是函式返回型別,def_type是函式(指標)型別名,arg_list是函式引數類表,若是無參函式,arg_list可略去。

前一種形式較常見。定義的def_type是函式指標型別。後一種形式比較少見。定義的def_type是函式型別。兩者的區別類似於int與int*。

接下來我會給出乙個複雜點的使用示例。訊號函式signal的 ansi c 原型是:

乍看起來有點暈頭轉向。解釋一下,signal函式有兩個引數:第乙個是int型引數signum;第二個引數是個函式指標sighandler,此函式無返回值,具有單個int型引數。signal函式返回乙個函式,此返回函式具有乙個int型引數且無返回值。

解釋起來夠累的。我們使用前面提到的typedef第一種形式重新描述如下:

或是使用typedef的第二種等價形式:

現在看起來是不是簡單得多了!?

Delphi函式指標的兩種定義

delphi中經常見到以下兩種定義 type tmouseproc procedure x,y integer tmouseevent procedure x,y integer of object 兩者樣子差不多但實際意義卻不一樣,tmouseproc只是單一的函式指標型別 tmouseevent...

XML 文件定義的兩種形式(DTD,SCHEMA)

xml dtd是目前使用比較廣泛的一種xml模式,而xml schema是w3c官方推薦的xml定義格式。dtd 指定 可以在文件中存在的元素 那些元素可以具有的屬性 在元素內部元素的層次結構以及元素在整個文件中出現的順序。xml schema 是基於 xml 的 dtd 替代者。xml schem...

符合型別(引用,指標)的兩種不同形式的定義

1。符合型別 引用,指標 陣列是否屬於 的兩種不同形式的定義 int a 10 定義乙個指標 int p a int pp a 定義乙個引用 int ra a int rra a 2。而且變數定義語句的識別優先於函式呼叫 class test test a 編譯器優先認為它是乙個引用變數的宣告,等價...