1. 程式人生 > >const 指標 、#define 、typedef 區別於詳解

const 指標 、#define 、typedef 區別於詳解

目錄

 

1.const指標詳解:

 

2.#define、const、typedef預處理詳解


1.const指標詳解:

const  int   *   p;                   (用得最多)

②            int   *   const   p

;        =....

const   int   *   const   p;        (用的最少)


                                                     目標的值                指向

①指向常量的指標       ▬▬▶       不能改                   可以

②指向變數的常指標   ▬▬▶       可以                       不能改

③指向常量的常指標   ▬▬▶       不能改                    不能改


 

2.#define、const、typedef預處理詳解

①C:         #define          巨集常量           ▌  #define   NUMBER   10   (結尾無分號)

②C++:  const             const常量     ▌   const     int   NUM   =   10 ; 

③C++:  typedef          命別名           ▌   typedef   unsigned   int    ┗━┛   NINT  ;   (編輯器尋找最後一個空格┗━┛後的為別名)


其中:

① #define  是 直接進行完整的字元替換 ,再預編譯時候就進行替換。

②const常量完全可以代替巨集常量 (C++規則推薦使用const,儘量不要使用#define)

③typedef只能夠為已經存在型別命一個別名,而不能創造一種新的型別(比如struct 可以創造新的型別)