常用鏈接

          統計

          最新評論

          typedef 的兩種用法(轉)

          typedef是c/c++代碼中經常用到的一個關鍵字. 他的主要做用是給變量類型定義一個別名.
          從而達到代碼簡化, 促進跨平臺開發的目的.
          下面是typedef的最經常的用法:

          typedef struct{
            int a;
            int b;
          }MY_TYPE;

          這里把一個未命名結構直接取了一個叫MY_TYPE的別名, 這樣如果你想定義結構的實例的時候就可以這樣:
          MY_TYPE tmp;

          這是typedef的第一種用法. 比較簡單. 就是 typedef 原變量類型 別名
          相似的例子:
          typedef  unsigned long DWORD;  無符號長型
          typedef void far       *LPVOID; //void far *是原變量類型, 表示一個void 型指針(far 在32位系統里面已經沒有意義了)
          等等

          typedef還有第二種用法. 可能這種用法初學者沒有接觸過.
          比如:
          typedef int (*MYFUN)(int, int);
          這種用法一般用在給函數定義別名的時候.(其實質還是和上面的用法一樣的)
          上面的例子定義MYFUN 是一個函數指針, 函數類型是帶兩個int 參數, 返回一個int

          在分析這種形式的定義的時候可以用下面的方法:
          先去掉typedef 和別名, 剩下的就是原變量的類型.
          比如上面的例子:
          去掉typedef和MYFUN以后就剩:
          int (*)(int, int)

          讀了我前面一課里面討論的 <<細說如何確定一個變量的類型>>的朋友應該很容易就得出這個類型指的時是
          一個函數指針, 函數類型是帶兩個int 參數, 返回一個int

          posted on 2007-09-19 15:23 九寶 閱讀(221) 評論(0)  編輯  收藏 所屬分類: C++/C

          主站蜘蛛池模板: 哈密市| 彩票| 延吉市| 博乐市| 宁陵县| 石屏县| 鹰潭市| 兴海县| 乌拉特前旗| 措勤县| 无锡市| 北安市| 富阳市| 汶上县| 河北区| 栾城县| 海兴县| 巴彦县| 彭水| 洛隆县| 山东省| 松阳县| 西吉县| 天津市| 商洛市| 肥东县| 玉田县| 枣阳市| 罗城| 霍邱县| 翁源县| 赞皇县| 江西省| 八宿县| 高碑店市| 新乡市| 石屏县| 苗栗县| 安新县| 左云县| 博爱县|