国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

如何理解typedef函數(shù)指針?

2023-07-04 21:44 作者:零壹ZLZ  | 我要投稿

1、什么是函數(shù)指針

????????函數(shù)指針函數(shù)指針變量的簡(jiǎn)稱,其實(shí)質(zhì)是一個(gè)變量,就像 ? int a; ?中的a一樣,指針即地址,所以函數(shù)指針可以理解為“存放函數(shù)入口地址的變量”。舉個(gè)栗子:

int sum(int a, int b)

{

? ?return (a+b);

}

void main()

{

????????int (*p)(int, int); ? ? //定義了一個(gè)函數(shù)指針P

????????int a = 0;

????????p = sum;

????????a = (*p)(10,20);

????????printf(”%d\\n”,a);

}

????????代碼中,語(yǔ)句int (*p)(int, int);定義了一個(gè)函數(shù)指針變量p,它指向的函數(shù)返回值類型為int,函數(shù)的參數(shù)為兩個(gè)int型。換句話說(shuō),變量p可以存返回值為int,形參為兩個(gè)int型的函數(shù)的地址,上例中就是把函數(shù)sum的地址(即函數(shù)名)賦給了p;

2、函數(shù)指針的數(shù)據(jù)類型

????????我們知道C語(yǔ)言中的變量都有其對(duì)應(yīng)的數(shù)據(jù)類型,比如:int a = 0; ? char b;其中變量a的數(shù)據(jù)類型為int,變量b的數(shù)據(jù)類型為char,那么int (*p)(int, int);中變量p的數(shù)據(jù)類型是什么?這里p 的數(shù)據(jù)類型就是int (*)(int, int) ,是的,就是把p去掉,剩下的就是數(shù)據(jù)類型。

????????現(xiàn)在再來(lái)理解typedef函數(shù)指針。

??比如,typedef int (*abc)(int, int); 這里是定義數(shù)據(jù)類型int (*)(int, int) 為別名abc,即可以用abc表示數(shù)據(jù)類型int (*)(int, int)了。如何使用?再舉個(gè)栗子:

typedef int (*alias)(int, int);

int sum(int a, int b)

{

??return (a+ b);

}

void main()

{

????????alias p = sum;

????????int a = 0;

????????a = (*p)(10,20);

????????printf(”%d\\n”,a);

}

代碼第一行重新定義了函數(shù)指針數(shù)據(jù)類型int (*)(int, int)alias ,然后在main函數(shù)中用該類型別名alias?定義了函數(shù)指針p,運(yùn)行結(jié)果和上個(gè)例子中一樣。

舉一反一,typedef數(shù)組指針也類似。


如何理解typedef函數(shù)指針?的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
宝应县| 南平市| 盐亭县| 红河县| 新和县| 当阳市| 四会市| 荆州市| 石阡县| 鲜城| 青海省| 滁州市| 姚安县| 枞阳县| 永川市| 乳源| 昭觉县| 宁夏| 平武县| 凤城市| 石柱| 平远县| 古浪县| 济源市| 睢宁县| 哈巴河县| 新丰县| 巍山| 罗定市| 洮南市| 纳雍县| 永兴县| 当阳市| 祁阳县| 辛集市| 新乡市| 新源县| 丹江口市| 乌苏市| 巴楚县| 吴旗县|