在c中,經常用這種方法定義常量,但實際上這種方法只是在預編譯時進行字元置換,把程式**現的識別符號a全部置換為100,在預編譯後,程式中不在有a這個識別符號。a不是變數,沒有型別,不占用儲存單元,而且容易出錯,比如看下面這個例子
#include
using namespace std;
intmain()
在這個程式中我們希望輸出t2 is 0,但實際上我們看結果輸出確實2,這是由於在#define t2 t1-t1中,t2實際上被替換成了a+a-a+a=a+a,所以最終輸出結果為2。
c++提供了const來定義常量,例如:
const int a=100;
這個常量是有型別的,而且佔儲存空間,有位址,可以用指標指向它,但不能修改它。
php中常量的定義 define和const
在類的外邊第一常量 使用關鍵字define來定義常量。在類外面通常這樣定義常量 define php phpddt.com 在類中,不能使用define,而是使用const來定義常量。class myclass echo myclass constant 一般是define在類外定義常量,const...
C 中typedef和 define簡介
本文基於 c primer 第5版 和網上部落格,整理而成。一 型別別名 型別別名是乙個名字,它是某種型別的同義詞,有兩種方法可用於定義型別別名 typedef using。1 關鍵字typedef typedef 它在自己的作用域內給乙個已經存在的型別乙個別名,編譯階段,會進行型別檢查。1 typ...
C中 define和inline的區別
c中巨集定義和內聯函式的區別是很容易讓人忽視的乙個地方,也是面試的時候經常被提起的乙個問題。前幾天寫 的時候由於對巨集定義乙個細節的忽視,導致程式執行總是出錯。現在把巨集定義可能出現的問題總結一下。出錯的 結構如下 cpp view plain copy if rlc dc bit msk data...