日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 單片機(jī) > C語(yǔ)言編程
[導(dǎo)讀]1變量的聲明和定義有什么區(qū)別變量的定義為變量分配地址和存儲(chǔ)空間,變量的聲明不分配地址。一個(gè)變量可以在多個(gè)地方聲明,但是只在一個(gè)地方定義。加入extern修飾的是變量的聲明,說(shuō)明此變量將在文件以外或在文件后面部分定義。說(shuō)明:很多時(shí)候一個(gè)變量,只是聲明不分配內(nèi)存空間,直到具體使用時(shí)才...


1 變量的聲明和定義有什么區(qū)別

變量的定義為變量分配地址和存儲(chǔ)空間, 變量的聲明不分配地址。一個(gè)變量可以在多個(gè)地方聲明, 但是只在一個(gè)地方定義。加入extern 修飾的是變量的聲明,說(shuō)明此變量將在文件以外或在文件后面部分定義。

說(shuō)明:很多時(shí)候一個(gè)變量,只是聲明不分配內(nèi)存空間,直到具體使用時(shí)才初始化,分配內(nèi)存空間, 如外部變量。

int?main()?
{
???extern?int?A;
???//這是個(gè)聲明而不是定義,聲明A是一個(gè)已經(jīng)定義了的外部變量
???//注意:聲明外部變量時(shí)可以把變量類型去掉如:extern A;
???dosth();?//執(zhí)行函數(shù)
}
int?A;?//是定義,定義了A為整型的外部變量

2 簡(jiǎn)述#ifdef、#else、#endif和#ifndef的作用

利用#ifdef、#endif將某程序功能模塊包括進(jìn)去,以向特定用戶提供該功能。在不需要時(shí)用戶可輕易將其屏蔽。

#ifdef?MATH
#include?"math.c"
#endif
在子程序前加上標(biāo)記,以便于追蹤和調(diào)試。

#ifdef?DEBUG
printf?("Indebugging......!");
#endif
應(yīng)對(duì)硬件的限制。由于一些具體應(yīng)用環(huán)境的硬件不一樣,限于條件,本地缺乏這種設(shè)備,只能繞過(guò)硬件,直接寫出預(yù)期結(jié)果。

「注意」:雖然不用條件編譯命令而直接用if語(yǔ)句也能達(dá)到要求,但那樣做目標(biāo)程序長(zhǎng)(因?yàn)樗姓Z(yǔ)句都編譯),運(yùn)行時(shí)間長(zhǎng)(因?yàn)樵诔绦蜻\(yùn)行時(shí)間對(duì)if語(yǔ)句進(jìn)行測(cè)試)。而采用條件編譯,可以減少被編譯的語(yǔ)句,從而減少目標(biāo)程序的長(zhǎng)度,減少運(yùn)行時(shí)間。

3 寫出int 、bool、 float 、指針變量與 “零值”比較的if 語(yǔ)句

//int與零值比較?
if?(?n?==?0?)
if?(?n?!=?0?)
?
//bool與零值比較?
if???(flag)?//???表示flag為真?
if???(!flag)?//???表示flag為假?
?
//float與零值比較?
const?float?EPSINON?=?0.00001;
if?((x >=?- EPSINON)?
本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
關(guān)閉