c語言如何防止型別重複定義,C語言如何防止型別重複定義

2022-03-03 07:59:01 字數 1343 閱讀 7205

1樓:匿名使用者

1、當1個c語言程式由 多個 源程式檔案 組成時,由於每個 源程式檔案 都有 #include <...>#include "...h", 最終它們可能形成交叉 包含 和 重複包含 現象 而造成錯誤。

2、為了避免這種情況發生,可以 採用 定義巨集 的方法 把各個標頭檔案 包起來。

編譯器 在正式編譯的開始,現處理 巨集 -- 也就是「預編譯命令".

用 巨集(#號開始的行) 把 標頭檔案內容 包起來:

#ifndef _header_one_h_ // 意思是:巨集開始行,如果還沒有定義 _header_one_h_ 則 進入,否則退出

#define _header_one_h_ //定義 _header_one_h_//

header1.h

標頭檔案內容

#endif // 巨集結束行

2樓:匿名使用者

#ifdef ****

#define ****

#endif

3樓:匿名使用者

問:如果其他人也定義了一個mytype怎麼辦

答:用自己的namespace

c語言裡防止標頭檔案被重複定義的問題?

4樓:匿名使用者

graphics.h顯然是不行的,.在c語言中有專門的含義

另外巨集最好是遵循大寫的風格,約定俗成,不是說小寫不行,而是會帶來理解上的麻煩。

5樓:匿名使用者

恩,樓上對的,巨集定義約定用大寫,其實用graphics_h也不會報錯

graphics.h不是合法的巨集名,因為.,巨集名只能由字母數字下劃線組成,且以字母或下劃線開頭

6樓:匿名使用者

可以寫成graphics_h,但是通常巨集定義都寫成大寫的。 不能寫成graphics.h,巨集定義不能使用.來連線,語法錯誤

c語言型別重定義錯誤

7樓:柳綿吹芳草

documents.h可能被包含了多次吧 ?

c語言程式設計中,同一個變數能否被重複定義成兩種不同型別

8樓:匿名使用者

在同一塊**區域中,不允許有同名變數!

在不同的**區,可以!

如:定義一個全域性變數:

int a=10;

再定義一個區域性變數:

void func()

這樣是可以的。

關於自定義標頭檔案在多個檔案中引用時提示重複定義的問題(c語言)

c語言中如何定義陣列C語言中如何定義陣列

c語言中,同變數一樣 陣列也必須先定義後使用。一維陣列的定義形式 型別識別符號 陣列名 常量表示式 例如int a 10 其中a為地址常量。如變數的定義一樣,int a double a float a等 陣列的定義只是把後面的變數名改為陣列名而已。int a 10 就是定義了一個陣列名為a的陣列 ...

c語言資料型別問題,C語言資料型別如何轉換

你這答案有點問題哦,前邊兩個元素是陣列,int和float都是四位元組,char是一個位元組,總共 4 3 4 16 44位元組,如果我算錯了你告訴我,我也學學 c語言資料型別如何轉換?不是有強制型別 轉換嗎?強制型別轉換 強制型別轉換 當運算元的型別不同,而且不屬於基本資料型別時,經常需要強制型別...

c語言陣列賦值問題,c語言中如何給陣列定義並賦初值?

我不清楚你想問什麼,不過第二種寫法是對的。char chars 11 是定義了一個初始值為空總數為11的字元陣列。char s c language 定義一個總數為11的字元陣列,但是有初值。注意是11個不是10個,用這種方定義的字元陣列末尾會加一個 0。陣列的賦值通常是使用花括號來表示的,但是字元...