define NULL 0為什麼顯示nuLL REDIFI

2021-04-12 07:18:52 字數 2595 閱讀 4181

1樓:匿名使用者

標頭檔案中定義過了呵

你不用重複定義,直接用null就可以了

你這樣做就是重複定義哈

或者你可以這樣做

#ifndef null

#define null 0

#endif

#define null 0 求解釋???

2樓:雪無痕·希夷

這是一個不帶引數的巨集定義,用一個指定的識別符號來代表一個字串。

它的作用是在本程式檔案中用指定的識別符號null來代表0

3樓:匿名使用者

define是用於巨集定義的 這裡的意思是把 0 用 null表示

4樓:匿名使用者

int n = null;

cout<

n 這時候的值是0

5樓:西安一讀書人

即是將null值定義為0 。巨集定義

#define null 0什麼意思

6樓:匿名使用者

#define 是巨集定義語句來,後面加null 0 表示把源null定義成bai0,

實際上,在編譯器工作時候

du,第一步就是zhi對原檔案進行dao

預處理,

首先把#include的檔案,然後 把檔案中所有用#define定義的巨集用其值替換,對於你這個來說,就是在預處理的時候,把所有的null用0進行了替換

7樓:匿名使用者

怎麼給你解釋呢。

就是設定一個值,這個值是一個空值。

用0表示。。

請問c++中#define null 0與#define null ((void*)0)有什麼區別?都是指空指標嗎?

8樓:匿名使用者

應該說都是空指標,但是差別在於,前者是一個數值0,一般認為是整數

型數值0;而後者已經另外強制的指定了型別屬性,那就是一個void型的指標。前者在賦值給某個指標(包括void型指標)時,通常會有警告(因為c語言雖然允許把一個整數值賦值給一個指標,但型別畢竟不一致);而後者如果被賦值給一個void型的指標時不會有任何警告(因為型別一致),但賦值給其他型別的指標式也是會有警告的。

9樓:匿名使用者

不一樣,前者是所有指標都可以用0賦值

後面是專門指的空型指標(void *)的0值

指標賦值的現行標準是前者,後者是過去很久的標準了

#define null 0l什麼意思

10樓:匿名使用者

是一個預編譯器的處理的巨集定義

就是在你進行之後的內容之前,用0l來替換null所以在之後單獨出現null的時候,系統會用0l來替換0l是long型別的0

11樓:匿名使用者

僅僅是一個巨集定義,只要後面使用到null 都會替換成0,比如:

char* p = null; // 其實就是char* p = 0;

#define null (void *)0什麼意思

12樓:匿名使用者

定義一個常量null 它的值為0

實際上你可以直接用null 這個在c裡面一般就是0

13樓:匿名使用者

這是個巨集定義。格式是: #define 老的概念 新的表達。就是用新的表達去表示老的概念。下文出現的(void *)0一律都是null的意思。

14樓:匿名使用者

這是一個巨集定義,用null來表示一個空指標(即指向零地址的指標)。

15樓:匿名使用者

null : 空指標。即值為0、型別為void的指標(做比較時,可以強制轉換為其它型別)

16樓:匿名使用者

空指標,void*可以和任何指標型別比較不需要轉換

如果 null 定義成 #define null ((char *)0) 難道不就可以向函式傳入不加轉換的 null 了嗎?

17樓:薄荷無能

一般bai情況下, 不行

。複雜之處du在於, 有的機器不同型別資料zhi的指標有不同的dao內部表達。這內樣的 null 定義容對於接受字元指標的的函式沒有問題, 但對於其它型別的指標引數仍然有問題 (在缺少原型的情況下), 而合法的構造如

file *fp = null;

則會失敗。

不過, ansi c 允許 null 的可選定義#define null ((void *)0)除了潛在地幫助錯誤程式執行 (僅限於使用同樣型別指標的機器, 因此幫助有限) 以外, 這樣的定義還可以發現錯誤使用 null 的程式 (例如, 在實際需要使用 ascii nul 字元的地方; 參見問題 5.7)。

無論如何, ansi 函式原型確保大多數 (儘管不是全部; 參見問題 5.2)指標參 數在傳入函式時正確轉換。 因此, 這個問題有些多餘。

為什麼defineNULL0一直報錯

define前需要加 null是關鍵字,不可以重新define。define null 0 求解釋?這是一個不帶引數的巨集定義,用一個指定的識別符號來代表一個字串。它的作用是在本程式檔案中用指定的識別符號null來代表0 define是用於巨集定義的 這裡的意思是把 0 用 null表示 int n...

現在的孩子為什麼都很顯老 為什麼有些人顯老呢

壓力太大。通常很多學生都是因為學習壓力而導致勞累。可考試考不好就會受到家長以及老師的批評和排斥。所以那些成績好的學生不一定是從小就成績好,而有的是被家長逼著的。甚至有的孩子每天不管白天黑夜仍然學習。熬夜時間長了,就會衰老,長白髮等等。但並不一定是所有的孩子都是這樣。有的是因為某種疾病導致,或者是父母...

為什麼905要去0再,為什麼905要去0再2?

一個數除以5,就等於除以10 去0 再乘以2。這樣計算更簡便。5x5 5 5 5 0怎樣加括號?最後一個5前面少一個運算子號吧 5 5 5 5 5 0 5 0 5 0 小學四年級下冊數學練習冊答案 配套練習冊笫10頁答案是 第一題答案是982 778 1760第2道1000 256 744第3道48...