真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

typedef與define的區(qū)別與聯(lián)系

   在C或者C++中,可以通過使用typedef和define來聲明新的類型來代替已有的類型。例如:

堅守“ 做人真誠 · 做事靠譜 · 口碑至上 · 高效敬業(yè) ”的價值觀,專業(yè)網(wǎng)站建設(shè)服務(wù)10余年為成都成都酒樓設(shè)計小微創(chuàng)業(yè)公司專業(yè)提供企業(yè)網(wǎng)站制作營銷網(wǎng)站建設(shè)商城網(wǎng)站建設(shè)手機網(wǎng)站建設(shè)小程序網(wǎng)站建設(shè)網(wǎng)站改版,從內(nèi)容策劃、視覺設(shè)計、底層架構(gòu)、網(wǎng)頁布局、功能開發(fā)迭代于一體的高端網(wǎng)站建設(shè)服務(wù)。

typedef int COUNT;

#define COUNT int;

兩者的作用都是用COUNT來代表int。雖然兩者實現(xiàn)的功能相同,但是實際上卻又有很大的差別,要不然也不會同時存在了。下面簡單談一下兩者的區(qū)別,希望在用到時能夠正確的進行選擇,以便減少不必要的麻煩:

  1. typedef

       在C或者C++中,typedef常用來定義一個標識符及關(guān)鍵字的別名,它是語言編譯過程的一部分,但它并不實際分配內(nèi)存空間。

    使用方法:(1)先按照定義變量的方法寫出定義體(如int n[100];)

              (2)將變量名換成新類型名(如將n->NUM);

               (3) 在最前面加上typedef(如 typedef NUM[100])

              (4)可以用新類型名去定義變量

    在C中還可以用來聲明結(jié)構(gòu)體類型:

typedef struct

{ double score;

  String name;

  int data;

}SCORE

 這樣就完成了新類型名SCORE的聲明,它代表上面指定的結(jié)構(gòu)體類型,接下來就可以用SCORE來定義變量了:   SCORE FIRST;

      SCORE *p;  //p為指向此結(jié)構(gòu)體類型數(shù)據(jù)的指針

注意:(1)typedef可以聲明各種類型名,但是不能用來定義變量。

      (2)typedef只是對已經(jīng)存在的類型指定一個新的類型名,而沒有創(chuàng)造新的類型。

      (3)typedef可有利于程序的通用與移植。例如:不同的硬件平臺對int型長度定義是不同的,有            些是2字節(jié),有些是4字節(jié),如果將程序從一個4字節(jié)存放整型數(shù)據(jù)的計算機系統(tǒng)移植到以2字            節(jié)存放×××數(shù)據(jù)的系統(tǒng),則需要將定義變量中所有的int類型全部換為long類型,但是如果            使用了typedef定義了int型,則只需要更改一處。

2.#define

   為宏定義語句,通常用它來定義常量,它本身并不在編譯過程中進行,而是在這之前(預(yù)處理過程)就已經(jīng)完成了,但也因此難以發(fā)現(xiàn)潛在的錯誤及其它代碼維護問題。

兩者區(qū)別:

#define是在預(yù)編譯時處理的,它只做簡單的替換。而typedef則是在編譯時候處理的,并不是只做簡單的替換。例如:

typedef  int NUM[10];

并不是用NUM[10]去代替“int”,二十采用如同定義變量的方法那樣來聲明一個類型,然后用它來定義變量。


本文標題:typedef與define的區(qū)別與聯(lián)系
當前URL:http://weahome.cn/article/gjschd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部