宏定義和const關(guān)鍵字的區(qū)別 define宏定義和const常量定義之間的區(qū)別?
define宏定義和const常量定義之間的區(qū)別?定義宏定義和常量變量之間的區(qū)別:1。Define是一個宏定義,程序?qū)⒃陬A(yù)處理階段用定義替換它。因此,當(dāng)程序運行時,常量表中沒有用define定義的常量
define宏定義和const常量定義之間的區(qū)別?
定義宏定義和常量變量之間的區(qū)別:1。Define是一個宏定義,程序?qū)⒃陬A(yù)處理階段用定義替換它。因此,當(dāng)程序運行時,常量表中沒有用define定義的常量,系統(tǒng)不會為其分配內(nèi)存。Const是由Const定義的常量。當(dāng)程序運行時,系統(tǒng)在常量表中為其分配內(nèi)存。2define定義的常量在預(yù)處理過程中被直接替換。因此,不能在編譯時執(zhí)行數(shù)據(jù)類型檢查。常量定義的常量,編譯時嚴(yán)格的類型檢查,可以避免錯誤。三。定義表達式時要注意“邊緣效應(yīng)”,例如:定義如下:#definen23//我們期望n的值為5,所以我們使用n into=n/2//我們期望a的值為2.5,但實際上a的值為3.5
宏定義:定義符號常量,由#在C語言中定義,例如#definep3.14在C語言中,表示定義符號常量P與3.14相同。注意:在程序運行期間,P的值不能改變。Const通常用于在基本語言中定義符號常量;例如,constpassingle=3.14
er。宏和常量是兩個概念。宏的定義是“define PI 3.141592653589793”。請注意,沒有分號。編譯時,所有PI符號都自動替換為數(shù)字。常量定義為const double pi=3.141592653589793,即定義一個不允許改變值的變量(其實有辦法改變它,但改變常量不符合編程規(guī)范),即分配內(nèi)存。差別很大。
宏定義與const的區(qū)別?
對于C,我們通常不使用define定義符號常量。但是對于C語言來說,由于用const修改的變量不能被另一個用const修改的變量初始化,因此const的使用受到很大的限制