常用鏈接

          統計

          最新評論

          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

          主站蜘蛛池模板: 霍州市| 西安市| 阳西县| 准格尔旗| 台中市| 马鞍山市| 青海省| 伊吾县| 竹溪县| 福清市| 洛隆县| 磐安县| 韩城市| 东乡| 逊克县| 上犹县| 张家界市| 黄陵县| 三都| 塔城市| 调兵山市| 岳阳县| 普陀区| 保亭| 迁西县| 邛崃市| 沭阳县| 阜新| 登封市| 射阳县| 梓潼县| 东海县| 台北县| 怀化市| 台安县| 昆明市| 交口县| 井冈山市| 靖西县| 临漳县| 舒兰市|