常用鏈接

          統計

          最新評論

          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 九寶 閱讀(216) 評論(0)  編輯  收藏 所屬分類: C++/C

          主站蜘蛛池模板: 长垣县| 襄樊市| 鹤峰县| 东方市| 依安县| 蒲城县| 冀州市| 巨鹿县| 邯郸市| 阳曲县| 石柱| 军事| 类乌齐县| 沅陵县| 华安县| 珲春市| 花莲市| 天柱县| 大连市| 哈密市| 湘阴县| 镇宁| 定远县| 高台县| 吉林省| 潮安县| 施秉县| 武威市| 黑山县| 鹤山市| 祁阳县| 吴旗县| 旬邑县| 互助| 伊宁市| 洱源县| 威海市| 沅陵县| 都兰县| 凯里市| 南城县|