• 正文
  • 推薦器件
  • 相關推薦
申請入駐 產(chǎn)業(yè)圖譜

C語言速查手冊:常量(Constants)

2024/04/29
1794
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

常量它是一個數(shù)據(jù)或是程序在運行時其值不能改變的變量,常量也有很多不同的數(shù)據(jù)類型,下表列出一些常見的數(shù)據(jù)類型。

常量一般可分為兩種:

  • 直接常量:在程序程序中直接引用的數(shù)據(jù),可以是整型、實數(shù)、字符、字符串等。
  • 符號常量:為了增加程序的可讀性和維護性,還可以用常量相關的標識符來表示常量。

在C語言中,有兩種方法可以定義一個常量:

使用const關鍵字定義常量,const定義的實際上也是一個變量,但這個變量的值是不能改變的。

const type variable = value;
#include <stdio.h>
int main()
{
//使用const關鍵字定義一個常量PI
const float PI = 3.141592;
printf("PI=%.6fn", PI);
}
輸出結果:PI=3.141592

如果程序中修改const定義的常量,將會編譯錯誤。

#include <stdio.h>
int main()
{
//使用const關鍵字定義一個常量PI
const float PI = 3.141592;
PI = 1;
}

輸出結果:程序會出現(xiàn)“ must be a modifiable value”的編譯錯誤。

使用#define預處理器定義常量,這里的常量用宏表示,程序在預編譯的時候會將宏替換成宏所表示的數(shù)據(jù)。

#define identifier value
#include <stdio.h>
#define PI 3.141592 //使用#define預處理
int main()
{
printf("PI=%.6fn", PI);
}

輸出結果:PI=3.141592

上面的這兩種定義方式,其實是有著本質的區(qū)別。對于const關鍵字方式如上所說,它是一個不能改變其值的變量,是由數(shù)據(jù)類型的,在編譯時需要對其類型檢查,并會分配內(nèi)存。而#define方式定義的是宏,是不帶類型的常數(shù),在預處理階段由編譯器進行數(shù)據(jù)替換,也不會對其分配內(nèi)存和類型檢查。

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風險等級 參考價格 更多信息
CAT24C256WI-GT3 1 onsemi EEPROM Serial 256-Kb I2C, SOIC 8, 150 mils, 3000-REEL

ECAD模型

下載ECAD模型
$0.44 查看
KSZ8873MLLI-TR 1 Microchip Technology Inc LAN Switching Circuit
暫無數(shù)據(jù) 查看
AFBR-5905Z 1 Agilent Technologies Inc Transceiver, Through Hole Mount,
$465.39 查看

相關推薦