c語言復(fù)習(xí)之預(yù)編譯(十四)-創(chuàng)新互聯(lián)

在這里插入圖片描述

我們一直強調(diào)網(wǎng)站設(shè)計、做網(wǎng)站對于企業(yè)的重要性,如果您也覺得重要,那么就需要我們慎重對待,選擇一個安全靠譜的網(wǎng)站建設(shè)公司,企業(yè)網(wǎng)站我們建議是要么不做,要么就做好,讓網(wǎng)站能真正成為企業(yè)發(fā)展過程中的有力推手。專業(yè)網(wǎng)站建設(shè)公司不一定是大公司,成都創(chuàng)新互聯(lián)作為專業(yè)的網(wǎng)絡(luò)公司選擇我們就是放心。
1.以#開頭的行,都稱為編譯器指令
  1. #define定義宏
  2. #if #else #elif #endif條件編譯
  3. #ifdef #ifndef判斷是否定義了某個宏
  4. #error錯誤
  5. #program設(shè)定狀態(tài)或指定完成(編譯器)
  6. #undef取消宏定義
2.預(yù)定義宏
  1. __LINE__行號
  2. __FILE__源文件名
  3. __DATE__創(chuàng)建日期
  4. __TIME__創(chuàng)建時間
  5. __FUNCTION__當(dāng)前正在被訪問的函數(shù)名(大項目查錯誤)—–>__func__
3.#define宏定義
  1. 定義形式:#define宏名(一般為大寫) stuff(替換內(nèi)容)
  2. 使用宏定義相當(dāng)于替換
  3. 注意:不能加分號
  4. 定義表達式時有歧義:

#definear 2*5+1

則3*ar==31

所以可以這樣定義#define ar (2*5+1)來避免歧義

4.帶參宏 1.介紹
#define 宏名(形參表) stuff
//例: #define _sqrt(number) number*number
4^2---->_sqrt(4)
//通過帶參宏定義申請內(nèi)存的快捷方式----->函數(shù)不能傳類型
#define calloc(size,type) calloc(size,sizeof(type))
2.帶參宏和函數(shù)區(qū)別
  1. 在帶參宏定義中,不會為形式參數(shù)分配內(nèi)存(替換),因此不必指明數(shù)據(jù)類型

  2. 當(dāng)調(diào)用頻繁時帶參宏的優(yōu)勢就明顯了,因為函數(shù)調(diào)用有開銷且要指定數(shù)據(jù)類型

3.帶參宏實現(xiàn)foreach循環(huán)
#define foreach(_variable,_array) \
for(int _i=0,_cnt=0;_i
5.宏定義中的特殊符號 1.##連接
#define Teval(name) name##_tel
Teval(zk)----->zk_tel
2.#把參數(shù)轉(zhuǎn)為字符串
#define to_string(val) #val
to_string(123456);----->不能把變量轉(zhuǎn)為字符串,局限性大
3.#@把參數(shù)轉(zhuǎn)為字符
#define to_char(val) #@val
to_cahr(abcd)---->最多保存4個----->輸出d,小端存儲
6.條件編譯(整型)
#if #elif #else #endif(必須有)
#error
#ifdef 如果定義了則
#ifndef 沒有定義則
7.#inlcude頭文件包含
  1. 系統(tǒng)庫頭文件使用尖括號包含

  2. 自定義頭文件使用雙引號包含

  3. 防止頭文件重復(fù)包含

    #ifndef
    #endif
8.#program計算機式操作系統(tǒng)特定的—>windows
  1. #program one—->防止頭文件重復(fù)包含

    指定該文件在編譯源碼時僅由編譯器包含(打開)一次

  2. #program message("")

    不中斷編譯的情況下,發(fā)送一個字符串文字量到標準輸出

  3. #program warning(...)修改編譯器的警告狀態(tài)

    default   //將警告行為重置為默認值
    disable   //不發(fā)出指定的警告信息
    erroe     //將指定的信息視為錯誤
    once      //指定的警告只顯示一次
    suppress  //抑制下一行的指定警告生成(只對下一行生效)
        
    //警告狀態(tài)
    //1.保存  push,n(1<=n<=4)
    //2.恢復(fù)  pop

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧

網(wǎng)頁題目:c語言復(fù)習(xí)之預(yù)編譯(十四)-創(chuàng)新互聯(lián)
網(wǎng)站URL:http://muchs.cn/article10/djisgo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計、網(wǎng)站建設(shè)軟件開發(fā)、網(wǎng)頁設(shè)計公司Google、小程序開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)