typedef 和 stuct 的區別用法

2021-06-29 15:20:09 字數 550 閱讀 9444

之前在做題的時候總是因為typedef 和 struct 的使用而出現bug,事實上是對結構體不熟悉所造成的,現在還是來梳理一下這兩個關鍵字

typedef在計算機程式語言中用來為複雜的宣告定義簡單的別名,是用來定義乙個新的資料型別或者給資料型別乙個新的命名。

typedef char line[81]; // 代表著擁有81個元素的字元陣列
line max; //定義了乙個line型別的變數

所以

typedef struct stusutdent; //此時student就相當於struct stu,乙個結構體型別,所以這裡stu可以預設

student a[41];

在引用資料型別時直接引用student

而struct是結構體型別,在定義時

struct stustudent[41]; //此時student是乙個結構體型別的陣列
在引用資料型別時應加上 struct stu;



typedef和define具體的詳細區別

1 define是預處理指令,在編譯預處理時進行簡單的替換,不作正確性檢查,不關含義是否正確照樣帶入,只有在編譯已被展開的源程式時才會發現可能的錯誤並報錯。例如 define pi 3.1415926 程式中的 area pi r r 會替換為3.1415926 r r 如果你把 define語句中...

typedef和define具體的詳細區別

1 define是預處理指令,在編譯預處理時進行簡單的替換,不作正確性檢查,不關含義是否正確照樣帶入,只有在編譯已被展開的源程式時才會發現可能的錯誤並報錯。例如 define pi 3.1415926 程式中的 area pi r r 會替換為3.1415926 r r 如果你把 define語句中...

(程式設計基礎)define和typedef的區別

define和typedef有兩個主要的區別 1 可以使用其他型別說明符對巨集型別名進行擴充套件,但是對typedef所定義的型別名不能擴充套件 2 在連續的幾個變數的宣告中,用typedef定義的型別可以保證宣告中所有的變數均為同一種型別,但是define無法保證 具體的兩個區別如下 includ...