常用鏈接

          統(tǒng)計(jì)

          最新評(píng)論

          typedef 的兩種用法(轉(zhuǎn))

          typedef是c/c++代碼中經(jīng)常用到的一個(gè)關(guān)鍵字. 他的主要做用是給變量類型定義一個(gè)別名.
          從而達(dá)到代碼簡(jiǎn)化, 促進(jìn)跨平臺(tái)開(kāi)發(fā)的目的.
          下面是typedef的最經(jīng)常的用法:

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

          這里把一個(gè)未命名結(jié)構(gòu)直接取了一個(gè)叫MY_TYPE的別名, 這樣如果你想定義結(jié)構(gòu)的實(shí)例的時(shí)候就可以這樣:
          MY_TYPE tmp;

          這是typedef的第一種用法. 比較簡(jiǎn)單. 就是 typedef 原變量類型 別名
          相似的例子:
          typedef  unsigned long DWORD;  無(wú)符號(hào)長(zhǎng)型
          typedef void far       *LPVOID; //void far *是原變量類型, 表示一個(gè)void 型指針(far 在32位系統(tǒng)里面已經(jīng)沒(méi)有意義了)
          等等

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

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

          讀了我前面一課里面討論的 <<細(xì)說(shuō)如何確定一個(gè)變量的類型>>的朋友應(yīng)該很容易就得出這個(gè)類型指的時(shí)是
          一個(gè)函數(shù)指針, 函數(shù)類型是帶兩個(gè)int 參數(shù), 返回一個(gè)int

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


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 吴川市| 娱乐| 利津县| 平阳县| 临西县| 渑池县| 寻乌县| 贺州市| 镇远县| 赣州市| 禹城市| 凤台县| 中卫市| 万安县| 巴彦淖尔市| 大同市| 洛宁县| 大石桥市| 保亭| 威海市| 赤水市| 长武县| 黄山市| 鹿邑县| 广元市| 肇源县| 玉山县| 徐闻县| 建始县| 紫金县| 汉寿县| 保靖县| 来宾市| 长岛县| 靖安县| 清原| 奉节县| 漠河县| 连山| 远安县| 乌海市|