程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> C說話typedef與龐雜函數聲明成績的深刻解析

C說話typedef與龐雜函數聲明成績的深刻解析

編輯:關於C++

C說話typedef與龐雜函數聲明成績的深刻解析。本站提示廣大學習愛好者:(C說話typedef與龐雜函數聲明成績的深刻解析)文章只能為提供參考,不一定能成為您想要的結果。以下是C說話typedef與龐雜函數聲明成績的深刻解析正文


上面是三個變量的聲明,我想應用typedef分離給它們界說一個體名,請問該若何做?
>1:int *(*a[5])(int, char*);
>2:void (*b[10]) (void (*)());
>3. doube(*)() (*pa)[9];
謎底與剖析:
對龐雜變量樹立一個類型別號的辦法很簡略,你只需在傳統的變量聲明表達式裡用類型名替換變量名,然後把症結字typedef加在該語句的開首就好了。

>1:int *(*a[5])(int, char*);
//pFun是我們建的一個類型別號
typedef int *(*pFun)(int, char*);
//應用界說的新類型來聲明對象,等價於int* (*a[5])(int, char*);
pFun a[5];
a是一個包括5個元素的數組,數組的元素是函數指針,該函數指針所指函數的的前往值是指向int類型的指針,輸出參數有兩個,第一個是int,第二個是char*

>2:void (*b[10]) (void (*)());
//起首為下面表達式白色部門聲明一個新類型
typedef void (*pFunParam)();
//全體聲明一個新類型
typedef void (*pFun)(pFunParam);
//應用界說的新類型來聲明對象,等價於void (*b[10]) (void (*)());
pFun b[10];
b是一個含有10個元素的數組,每一個元素都是一個函數指針,該函數指針所指的函數的前往值為void,輸出參數為另外一個函數指針,這個函數指針沒有輸出參數,前往值為void

>3. doube(*)() (*pa)[9];
//起首為下面表達式白色部門聲明一個新類型
typedef double(*pFun)();
//全體聲明一個新類型
typedef pFun (*pFunParam)[9];
//應用界說的新類型來聲明對象,等價於doube(*)() (*pa)[9];
pFunParam pa;

pa是個指針,指針指向一個含有9個元素的數組,數組的元素是一個函數指針,函數指針所指函數沒有輸出參數,前往值為double

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved