亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

typedef與define的區別與聯系

發布時間:2020-08-01 04:10:55 來源:網絡 閱讀:659 作者:ghgc 欄目:軟件技術

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

typedef int COUNT;

#define COUNT int;

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

  1. typedef

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

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

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

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

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

    在C中還可以用來聲明結構體類型:

typedef struct

{ double score;

  String name;

  int data;

}SCORE

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

      SCORE *p;  //p為指向此結構體類型數據的指針

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

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

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

2.#define

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

兩者區別:

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

typedef  int NUM[10];

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


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

溆浦县| 江陵县| 从江县| 电白县| 砚山县| 綦江县| 运城市| 那曲县| 卓尼县| 如皋市| 海丰县| 陇川县| 望江县| 读书| 云龙县| 吉安县| 神农架林区| 绥中县| 留坝县| 军事| 宾川县| 当雄县| 衡南县| 德安县| 鹤峰县| 双鸭山市| 昆明市| 三原县| 壤塘县| 惠安县| 双柏县| 高安市| 安康市| 章丘市| 泾阳县| 惠来县| 无极县| 临武县| 冀州市| 会同县| 临泽县|