關於c 中 define和const的一段筆記

2021-10-06 02:21:18 字數 401 閱讀 6032

在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...