www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 公眾號精選 > C語言編程
[導讀]1變量的聲明和定義有什么區(qū)別變量的定義為變量分配地址和存儲空間,變量的聲明不分配地址。一個變量可以在多個地方聲明,但是只在一個地方定義。加入extern修飾的是變量的聲明,說明此變量將在文件以外或在文件后面部分定義。說明:很多時候一個變量,只是聲明不分配內(nèi)存空間,直到具體使用時才...


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

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

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

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

2 簡述#ifdef、#else、#endif和#ifndef的作用

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

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

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

「注意」:雖然不用條件編譯命令而直接用if語句也能達到要求,但那樣做目標程序長(因為所有語句都編譯),運行時間長(因為在程序運行時間對if語句進行測試)。而采用條件編譯,可以減少被編譯的語句,從而減少目標程序的長度,減少運行時間。

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

//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)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
關(guān)閉
關(guān)閉