c語言寫標頭檔案定義巨集的問題,C語言寫標頭檔案定義巨集的問題

時間 2021-08-11 17:34:55

1樓:兔子和小強

#ifndef a_h

#define a_h

....

#endif

就是如果沒有定義a_h那麼就定義a_h,並執行....。

這樣就避免了重複include的問題。

標頭檔案叫file

那麼一般#ifndef _file_h_這是c的風格,也可以取一個唯一的其他識別符號

2樓:匿名使用者

預編譯**內的防止重複編譯就是這樣做的,比如

a.cpp中包含a.h,b.h同時a.h內又有包含b.h,類似這種情況的時候,如果不加入這樣的預編譯檢驗,就會出錯,因為a.h被編譯了兩次

一般這個任意的名字會使用很長的亂碼,防止重複,代表唯一的標頭檔案編譯標示

3樓:匿名使用者

這個識別符號和檔名沒有關係..

假設你的**, 一共2次include同一個檔案.

#include "a.h" // 第一次, 因為a_h沒與被定義, 所以包含"內容", 並且定義a_h

#include "a.h" // 第二次, a_h被上面定義過了, 所以內容被跳過.

為了防止a_h在意外的地方被事先定義過, (比如有一個整數也正好定義成a_h這個名字, 或者另一個檔案也定義這個識別符號)

所以a_h這樣的識別符號, 通常取一些一般不會被重複的名字, 比如說很長的隨機字母, 或者乾脆就是檔名(因為檔名一般來說不會重複)

4樓:匿名使用者

原始碼程式不懂,改個簡單的倒還可以

5樓:匿名使用者

#include

不是有這個標誌嗎

我們再微控制器c語言程式設計中,標頭檔案一般都是用來定義一些巨集和函式宣告的對嗎

6樓:渿河

標頭檔案的功能的確是

copy用來定義一些巨集和函式宣告的, 但是也是i可以定義變數的, 如果你在標頭檔案裡定義變數編譯出錯的話 可能是因為你的微控制器的編譯器不支援在標頭檔案中定義變數, 這個跟編譯器有關。 有的編譯器是支援在標頭檔案中定義變數的。

一般不再標頭檔案中定義變數是因為怕重複包含所產生的重複定義。

並且標頭檔案一般要具有通用性, 你在裡面定義了變數的話別人再使用的時候就得去注意避免重複定義。

7樓:海

對的,標頭檔案一般是用來做預定義和函式申明的,當然你也可以把函式也寫在標頭檔案裡,這樣就不需要.c了,在程式main.c中直接包含該標頭檔案就可以呼叫裡面的函式了

8樓:匿名使用者

標頭檔案主要就這作用吧

關於C語言巨集定義的問題,C語言的巨集定義問題

錯誤原因 定義巨集的時候 define print a 多了一個分號 一直到下面 的時候巨集自動幫你替換成 printf the end 那麼根據for迴圈的規律,不加 的情況下,它只執行 printf the end 所以不一樣,第2個之所以只輸出一個其實那是在for迴圈結束後才執行的 注 巨集定...

c語言中的標頭檔案是什麼概念,c語言標頭檔案的是幹什麼用的?

標頭檔案是你程式中需要用到東西,如需要某個數學函式,則必須包括數學相關標頭檔案,如math.h,當然,也可以自己寫函式,只要你不怕麻煩!標頭檔案是你程式中需要用到東西,如需要某個數學函式,則必須包括數學相關標頭檔案,如math.h,當然,也可以自己寫函式,只要你不怕麻煩!標頭檔案就是在你所編制的程式...

C語言中的巨集定義如何使用,c語言巨集定義如何用?用巨集定義有什麼優點?

正確的完整輸出 3 個整數的程式結構應該按照如下寫法 define n 3 include int main for i 0 i n i 迴圈輸出整數陣列 a 中的 3 個數字,特別要注意 i 必須要寫成 i n,而不能夠寫成 i n,否則的話,就會產生越界錯誤。printf d t a i pri...