define,宏定義,C語言中預處理命令一種。分為無參宏定義和帶參宏定義。無參宏定義的一般形式為:#define宏名字符串;帶參宏定義的一般形式為:#define宏名(參數表)字符串;PHP中define函數定義一個常量。常量類似變量,不同之處在于:在設定以后,常量的值無法更改。常量名不需要開頭的美元符號($)。作用域不影響對常量的訪問。常量值只能是字符串或數字。
define概念
#define命令是C語言中的一個宏定義命令,它用來將一個標識符定義為一個字符串,該標識符被稱為宏名,被定義的字符串稱為替換文本。[1]該命令有兩種格式:一種是簡單的宏定義,另一種是帶參數的宏定義。
define分類
無參宏定義
C語言中無參宏定義的一般形式為:#define宏名字符串[2]
其中的“#”表示這是一條預處理命令。凡是以“#”開頭的均為預處理命令?!癲efine”為宏定義命令?!皹俗R符”為所定義的宏名?!白址笨梢允浅?、表達式、格式串等。
例如:#defineM(a+b)它的作用是指定標識符M來代替表達式(a+b)。在編寫源程序時,所有的(a+b)都可由M代替,而對源程序作編譯時,將先由預處理程序進行宏代換,即用(a+b)表達式去置換所有的宏名M,然后再進行編譯。
#include<stdio.h>
#defineM(a+b)
intmain(void)
{
ints,a,b;
printf("inputnumbera&b:");
scanf("%d%d",&a,&b);
s=M*M;
printf("s=%d\n",s);
}
上例程序中首先進行宏定義,定義M來替代表達式(a+b),在s=M*M中作了宏調用。在預處理時經宏展開后該語句變為:S=(a+b)*(a+b)。但要注意的是,在宏定義中表達式(a+b)兩邊的括號不能少。否則會發生錯誤。如當作以下定義后:#defineM(a)+(b)在宏展開時將得到下述語句:S=(a)+(b)*(a)+(b)。
對于宏定義還要說明以下幾點:
1.宏定義是用宏名來表示一個字符串,在宏展開時又以該字符串取代宏名,這只是一種簡單的代換,字符串中可以含任何字符,可以是常數,也可以是表達式,預處理程序對它不作任何檢查。如有錯誤,只能在編譯已被宏展開后的源程序時發現。
2.宏定義不是說明或語句,在行末不必加分號,如加上分號則連分號也一起置換。
3.宏定義其作用域為宏定義命令起到源程序結束。如要終止其作用域可使用#undef命令。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“C語言中define是什么意思”這篇文章對大家有幫助,同時也希望大家多多支持本站,關注本站行業資訊頻道,更多相關知識等著你來學習!
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...
2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...
:喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...
利率是指一定時期內利息額與借貸資金額(本金)的比率。利率是決定企業資金成本高低的主要因素,同時也是企業籌資、投資的決定性因素,對金融環境的研究必須注意利率現狀及其變動趨勢。那么有效年利率怎么理解?實際利率和有效利率一樣嗎?有效年利率(Effective Annual Percentage Rate)指在按照給定的計息期利率和每年復利次數計算利息時,能夠產生相同結果的每年復利一次的年利率。在按照給定...
都知道如今我國的房價可謂是越來越高的,尤其是對于有些一線城市而言,房子的價格甚至高達上萬元。很多人都希望房價可以下跌,但是網友們知道房價下跌銀行危險嗎?據悉,當房產價值發生減少,比如房屋倒塌,房價下跌等情況,你按揭的這套房產自身價值已不夠償還銀行的欠款,此時,銀行有權利要求購房者提供新的抵押物或者彌補銀行的損失。所以說,房價下跌一般不會影響銀行的利益。房價下跌的危害:房價下跌的城市紛紛上演房鬧戲碼...
春節假期剛過,無數生活在“北上廣”的有志青年像候鳥一樣紛紛返鄉。他們就像一群忘恩負義的孩子。在路上,上飛機前后,他們開始抱怨大都市的各種不好——房價,交通,空煤氣和壓力,當然還有各種情緒。幾年前,“逃離北上廣”是媒體關注的焦點,這意味著大城市越來越不適合居住,尤其是北京。然而這兩年的新聞是:原來“逃離北上廣”的人,現在都“逃”回來了。我曾經在一篇文章里寫過,對于一個充滿野心和抱負的年輕人來說,北京...