define和typedef有兩個主要的區別:
(1)可以使用其他型別說明符對巨集型別名進行擴充套件,但是對typedef所定義的型別名不能擴充套件
(2)在連續的幾個變數的宣告中,用typedef定義的型別可以保證宣告中所有的變數均為同一種型別,但是define無法保證
具體的兩個區別如下:
#include int main()
編譯結果如下:
第11行編譯出錯,而9,10是ok的,這個驗證了了區別(1)
第18行型別轉換警告,而19沒有警告,說明型別是int型,這個驗證了區別(2)
程式設計基礎 const與 define的區別
前言 相信大家看別人 的時候都遇到過,有人用 define定義,也有人用const定義。那麼兩者的區別到底是什麼呢?哪個更好用呢?網上查了又查,下面總結一下。總結 define巨集是在預處理階段展開 const常量是編譯執行階段使用 define巨集沒有型別,不做任何型別檢查,僅僅是展開 const...
C 程式設計中const和 define的區別
1 編譯器處理方式不同 define巨集是在預處理階段展開。const常量是編譯執行階段使用。2 型別和安全檢查不同 define巨集沒有型別,不做任何型別檢查,僅僅是展開。const常量有具體的型別,在編譯階段會執行型別檢查。3 儲存方式不同 define巨集僅僅是展開,有多少地方使用,就展開多少...
type和 rowtype 的區別
type 屬性的一種方式是在變數宣告中使用。type是用於取得 表或游標中的字段型別,例如,可以使用它來宣告artist表中字段型別相同的變數,注意可以在表中名和字段之間使用點號 dealare v unit name kwmis xm unit bg.unit name type v bgoid ...