#define與const常量

const類型寫法

const int a=5//用const聲明的常變量,值始終爲5
const float b=3*1.75;

關於const,#define需注意

  • const 聲明常量時,定義常量使必須同時初始化,其值不可更改
    wrong
 con int a;
 a=5  //wrong
  • #deine 定義的宏替換常量不同,#define定義的符號常量不佔內存空間,而const聲明的常量在內存中有相應大小的空間,具有變量的特徵,可以用sizeof測量長度,因此爲常變量

const常量用法

#include <iostream>
using namespace std;
int main(void)
{
	int a=10;
	const int T1=a+a;
	const int T2=T1-T1;
	cout<<"T2 is"<<T2<<endl;
}

運行結果爲0

define常量用法

#include
using namespace std;
int main(void)
{
int a=10;
#define T1 a+a
#define T2 T1-T2
cout<<“T2 is”<<T2<<endl;
}
結果爲20

區別

  • 對使用#define定義的符號常量來說,只是單純的字符串替換,因此T2替換爲a+a-a+a,結果爲20
  • 對於常變量,T1和T2都佔有各自的內存空間,即都可以保留一個常量值,其中T1的值指定爲20,同理T2的值指定爲0
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章