物聯網學習教程—用typedef定義型別

千鋒教育官方發表於2019-08-30

typedef 宣告新的型別名來代替已有的型別名。

 

宣告INTEGER 為整型

typedef int INTEGER

宣告結構型別

Typedef struct{

 int month

 int day

 int year }DATE;

宣告NUM為整型陣列型別

typedef int NUM[100];

 

宣告STRING為字元指標型別:

typedef char *STRING

 

宣告POINTER 為指向函式的指標型別,該函式返回

整型值

typedef int (*POINTER)()

typedef 定義型別的方法:

 

① 先按定義變數的方法寫出定義體(如: int i )。

② 將變數名換成新型別名(例如:將 i 換成 COUNT )。

③ 在最前面加typedef

   (例如:typedef int COUNT )。

④ 然後可以用新型別名去定義變數。

typedef 定義型別的方法(舉例):

 

① 先按定義陣列變數形式書寫: int n[100]

② 將變數名n換成自己指定的型別名:

   int  NUM [10 0 ];

③ 在前面加上 typedef ,得到

   typedef int NUM [100];

④ 用來定義變數: NUM  n;

說明:

typedef 可以宣告各種型別名,但不能用 來定義變數。

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

(3) 當不同原始檔中用到同一型別資料時,常用 typedef 宣告一些資料型別,把它們單獨放在一個檔案 中,然後在需要用到它們的檔案中用 #include 命令把

它們包含進來。

(4)  使用typedef 有利於程式的通用與移植。

說明:

(5) typedef #define 有相似之處,例如:

typedef int COUNT #define COUNT int 的作用都是用 COUNT 代表 int 。但事實上,它們二者是不同的。

#define 是在預編譯時處理的,它只能作簡單的字串替換,而 typedef 是在編譯時處理的。實際上它並不是作簡單的字串替換,而是採用如同定義變數的方法那樣來宣告一個型別。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69914734/viewspace-2655555/,如需轉載,請註明出處,否則將追究法律責任。

相關文章