1. 程式人生 > >2018 -0521 C語言學習---結構

2018 -0521 C語言學習---結構

1.   typedef struct 與struct的區別:

       typedef 並沒有建立任何的新型別,它的作用是為一個已經存在的型別貼上一個方便使用的標籤,   struct 是建立一種資料型別,相當於 int  float;

       在使用中比如有定義:

            struct name = {
              int a,
             char b,
              };

那麼我們需要定義定義一個這種結構型別的結構變數X時需要這樣宣告: struct name X;

    而當使用typedef時候:

typedef struct name = {
              int a,
             char b,
              }book;

那麼我們需要定義定義一個這種結構型別的結構變數X時需要這樣宣告: book X;

其實就是相當於給一個型別或者資料起一個使用它的名字;


2. typedef 與 define 區別:

    define 是由前處理器解釋,就相當於一個簡單的替換,而typedef是由編譯器解釋,可能是一種資料型別的別名;

    例如: #define  NAME int* ;                             typedef int* NAME;

                NAME a ,b;                                              NAME a,b;

              (int * a),b;                                            int* aint*b

    define 只是簡單替換,而typedef 相當於一個數據型別的別名