2018 -0521 C語言學習---結構
阿新 • • 發佈:2018-12-18
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* a, int*b;
define 只是簡單替換,而typedef 相當於一個數據型別的別名