C語言-第7課-enum和typedef分析

第7課-enumtypedef分析spa

 

  1. 枚舉類型的使用方法

(1) enum是一種自定義類型。指針

(2) enum默認常量在前一個值的基礎上一次加1字符串

(3) enum類型的變量只能取定義時的離散值。編譯

enum Colorclass

{基礎

GREEN,    //默認第一個的值是0變量

RED = 2,   擴展

BLUE      //默認是前一個數值的基礎上加一數據類型

};方法

enum Color c = GREEN;

printf(「%d\n」,c);    //0

這裏時不能取地址的,常量是不用分配空間,取地址的。編譯時,會進入符號表。

  1. 枚舉類型和#define的區別

(1) #define宏常量只是簡單的進行值替換,枚舉常量是真正意義上的常量。

(2) #define宏常量沒法被調用,枚舉常量能夠。

(3) #define宏常量無類型信息,枚舉常量是一種特定類型的常量。

 

  1. typedef的意義

(1) typedef用於給一個已經存在的數據類型重命名。

(2) typedef並無產生新的類型。

(3) typedef重定義的類型不能進行unsignedsigned擴展。

 

  1. typedef#define的區別

(1) typedef是給已有的類型取別名。

(2) #define爲簡單的字符串替換,無別名的概念。

 

思考:

咱們如今比較下面2個語句的區別:

tppedef char* PCHAR

PCHAR p1, p2

//p1p2char*類型的指針。

 

#define PCHAR char*

PCHAR p3, p4

//p3char*類型的指針,p4是個char類型。

相關文章
相關標籤/搜索