加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入
  • 正文
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

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

04/29 11:00
1623
閱讀需 3 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

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

常量一般可分為兩種:

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

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

  • const關(guān)鍵字
  • #define 預(yù)處理器

使用const關(guān)鍵字定義常量,const定義的實(shí)際上也是一個(gè)變量,但這個(gè)變量的值是不能改變的。

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

如果程序中修改const定義的常量,將會(huì)編譯錯(cuò)誤。

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

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

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

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

輸出結(jié)果:PI=3.141592

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

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
BCM89811B1AWMLG 1 Broadcom Limited Ethernet Transceiver, PACKAGE-36
$13.11 查看
LAN8742AI-CZ 1 Microchip Technology Inc DATACOM, ETHERNET TRANSCEIVER

ECAD模型

下載ECAD模型
$2.57 查看
SN74LVC1G14DBVR 1 Rochester Electronics LLC Inverter,
$0.14 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜