C語言中__FILE__ 和__LINE__ 等巨集的含義
int main(int argc, char *argv[])
{
printf( "file=%s/nline=%s ",__FILE__,__LINE__);
return (0);
}
另外,__FILE__和__LINE__是C語言中的預定義巨集。
在 C99 標準的 6.10.8 Predefined macro names 小節中有相關的介紹。
如: printf( "date: %s/t timt: %s/n ",__DATE__,__TIME__); 則是列印當前的系統日期和時間。
也有人可認為是編譯器內建的巨集。
相關推薦
C語言中__FILE__ 和__LINE__ 等巨集的含義
int main(int argc, char *argv[]) { printf( "file=%s/nline=%s ",__FILE__,__LINE__); return (0); }
C語言程式語言科技 c語言中的= 和= =有什麼區別?(精華篇)
一等賦,二等於。 C語言中,很多初學者經常會弄混 = 與 == 。我們從小學習數學時就知道“ = ”是 “等於”的意思,可是在C語言中,“ = ”就不是等於的意思了。 我寫了如下的C語言程式碼: 在上述C語言程式碼中,整型變數 a 的初始值是0。在兩個 if 語句判
C語言中的記憶體錯誤等問題
非法記憶體操作分析 結構體成員指標未初始化 沒有為結構體指標分配足夠的記憶體 #include <stdio.h> #include <malloc.h> struct D
C語言中的*和&符號
之前對*和&符號一直理解的比較淺顯。只知道: *p好像表示的是一個指標; &p表示的是一個地址。 然而這次當遇到了下面這個情況的時候: int a = 10; int *b = &a; printf(“%d\n”, a); printf(“%d\n”, &
C語言中宣告和定義詳解
變數宣告和變數定義 變數定義:用於為變數分配儲存空間,還可為變數指定初始值。程式中,變數有且僅有一個定義。 變數宣告:用於向程式表明變數的型別和名字。 定義也是宣告,extern宣告不是定義 定義也是宣告:當定義變數時我們聲明瞭它的型別和
全程剖析C語言中堆和棧的區別
1.申請方式 (1)棧(satck):由系統自動分配。例如,宣告在函式中一個區域性變數int b;系統自動在棧中為b開闢空間。 (2)堆(heap):需程式設計師自己申請(呼叫malloc,realloc,calloc),並指明大小,並由程式設計師進行釋放。容易產生memory leak. eg:
C語言中變數和函式的宣告與定義
一、變數在將變數前,先解釋一下宣告和定義這兩個概念。宣告一個變數意味著向編譯器描述變數的型別,但並不為變數分配儲存空間。定義一個變數意味著在宣告變數的同時還要為變數分配儲存空間。在定義一個變數的同時還可以對變數進行初始化。 區域性變數通常只定義不宣告,而全域性變數多在原始檔中定義,在標頭檔案中宣告。 區域性變
關於使用__FILE__和__LINE__的巨集定義來列印日誌
最近在程式碼檢視時被同事鄙視了,因為列印log時使用__FILE和__LINE__作為輸入引數。 每次列印Log時均需要些這些引數,呼叫者麻煩,可以使用巨集定義來代替。 程式碼檢視結束後,我就查詢了相關的資料,將列印的地方使用巨集替換掉了。具體如下: 首先定義巨集
C語言中堆和棧的區別
格式和部分內容稍作修改。 在計算機領域,堆疊是一個不容忽視的概念,我們編寫的C語言程式基本上都要用到。但對於很多的初學著來說,堆疊是一個很模糊的概念。堆疊:一種資料結構、一個在程式執行時用於存放的地方,這可能是很多初學者的認識,因為我曾經就是這麼想的和組合語言中的堆疊一
C語言中常量和變數
在C語言中,常量和變數都是可以用來儲存和表示資料的,常量值在程式執行的過程中是不可變的,而變數是可變的 1,常量的概念 常量是不可變的量,C語言中數值可以用常量表示,常量可以表示各種資
C語言中前置++和後置++的區別
直接上程式碼 #include <stdio.h> int main(int argc, char* argv[]) { int a = 6; printf("%d\n",a++); //輸出為6,返回的是暫存器的值,而不是加後的
C語言中幾個預定義巨集
顧名思義,預定義巨集就是已經預先定義好的巨集,我們可以直接使用,無需再重新定義。ANSI C 規定了以下幾個預定義巨集,它們在各個編譯器下都可以使用:__LINE__:表示當前原始碼的行號;__FILE__:表示當前原始檔的名稱;__DATE__:表示當前的編譯日期;__TI
C語言中宣告和定義的區別——分析extern關鍵詞。
一直很迷惑C語言中的宣告和定義的有些實踐中的用法,說迷惑實踐是因為宣告和定義的概念上的區別是很明確的。 定義和宣告的區別(主要針對變數): 定義是要為變數分配儲存空間,還可以在定義的時候為變數指定初始值。在一個程式中,變數有且僅有一次定義。 宣告用於向程式表明變數的型別和名
C語言中的__FILE__、__LINE__和__func__等預定義跟蹤除錯
標準C語言預處理要求定義某些物件巨集,每個預定義巨集的名稱一兩個下劃線字元開頭和結尾,這些預定義巨集不能被取消定義(#undef)或由程式設計人員重新定義。下面預定義巨集表,被我抄了下來。 __LIN
C語言中的__FILE__、__LINE__和#line用法
C語言中的__FILE__用以指示本行語句所在原始檔的檔案。 例如: #include <stdio.h>int main(){printf("%s\n",__FILE__);} 在g
c語言中的__FILE__和__LINE__的作用
這是編譯器內建巨集,這些巨集定義不僅可以幫助我們完成跨平臺的原始碼編寫,靈活使用也可以巧妙地幫我們輸出非常有用的除錯資訊。 例如:printf("FILE: %d, LINE: %d, %s/n", "__FILE__, __LINE__, "這裡寫上相關資訊"); ANS
C語言中的__FILE__、__LINE__和#line(用於列印當前函式及行數)
C語言中的__FILE__用以指示本行語句所在原始檔的檔名,舉例如下(test.c):#include <stdio.h>int main(){printf("%s\n",__FILE__);}在gcc編譯生成a.out,執行後輸出結果為:test.
C/C++中#,##,__FILE__,__LINE__等的用法
#include <stdio.h> #define CAT(N) X ## N //## 在巨集定義中將兩個字元連線起來,構成一個新的識別符號 #define PRINTF_XN(n) printf("X" # n "=%d\n",X ## n); //# 將
C語言中巨集定義和函式的取捨
原文連結:http://www.embedu.org/Column/Column177.htm 要寫好C語言,漂亮的巨集定義是非常重要的。巨集定義可以幫助我們防止出錯,提高程式碼的可移植性和可讀性等。 在軟體開發過程中,經常有一些常用或者通用的功能或者程式碼段,這些功能既可以寫成函式,也可以
C語言中的一些巨集定義和常用的函式
文章目錄 一、typeof 關鍵字 二、snprintf()函式的作用 三、__builtin_expect的作用 四、C語言中常用的預定義 五、反斜槓的作用 一、typeof 關鍵字 如果