一起talk C栗子吧(第一百二十四回:C語言執行個體--內建宏)

來源:互聯網
上載者:User

標籤:main   位置   簡單的   for   簡單   strong   方法   javascrip   func   

各位看官們,大家好,上一回中咱們說的是顯示變數和函數地址的範例,這一回咱們說的範例是:內建宏。閑話休提,言歸正轉。讓我們一起talk C栗子吧!

看官們,我們在編譯器的時候,假設有語法錯誤,編譯器就會提示,在某個檔案的某一行有錯誤,這是怎麼做到的呢?事實上是使用了C語言的內建宏。

說到宏,我想大家都知道,而所謂的內建宏相似於C語言的關鍵字,它是C語言自訂的,因此我們不須要定義宏,就能夠直接使用。經常使用的內建宏有“_LINE_”和“_FILE_”。假設把它們放到代碼中,那麼能夠輸它們所在位置的行號和所在的檔案名稱。編譯器輸出錯誤的檔案名稱和行號時就使用了它們。

事實上,它們經常被用來在檔案裡加入調試資訊。由於我們寫的程式難免會有錯誤,所以須要對程式進行調試。在檔案裡加入內建宏後,我們通過調試能夠高速地找到發生錯誤在哪個檔案裡的哪一行。

這樣就能夠高速改動程式中的錯誤,進而提高了工作效率。

看官們,我們舉一個簡單的範例。來說明內建宏的使用方法,以下是具體的代碼請大家參考:

#include<stdio.h>int show(){     printf("hello \n");    printf("file:%s line:%d  \n",__FILE__,__LINE__);    return 0;}int main(){    printf("file:%s line:%d  \n",__FILE__,__LINE__);    show();    return 0;}

我們在代碼中通過內建宏來輸出當前的檔案名稱和行號。以下是程式的執行結果,請大家參考:

file:test.c line:13   //這是main函數中的內容hello file:test.c line:7    //這是show函數中的內容

各位看官,關於內建宏的範例咱們就講到這裡。欲知後面還有什麼範例。且聽下回分解 。

一起talk C栗子吧(第一百二十四回:C語言執行個體--內建宏)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.