91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

定州市| 莫力| 兴宁市| 萍乡市| 剑川县| 乌兰浩特市| 潼关县| 库尔勒市| 合川市| 毕节市| 博白县| 湖南省| 武夷山市| 贺州市| 磐石市| 中江县| 平湖市| 苗栗县| 都昌县| 铜梁县| 大埔区| 东台市| 文山县| 富锦市| 淅川县| 洛川县| 昌平区| 镇宁| 南涧| 湾仔区| 甘肃省| 太原市| 九台市| 亳州市| 大宁县| 灵丘县| 达尔| 恩平市| 宿松县| 洪雅县| 张北县|