ifnullp和ifpnull在c語言中有什麼區別

2021-03-04 00:15:27 字數 4399 閱讀 9934

1樓:天雲一號

if(null != p)和f(p != null)兩者並沒什麼區別,都是判斷指標p是否為空。

但是當考慮到出錯檢查時,if(null != p)寫法更好,因為如果誤寫為if(null = p)的時候,編譯器就會提示出錯(因為常量不能被賦值);而if(p != null)如果誤寫為if(p = null),則編譯器不會報錯。

2樓:量子高巨集亮

沒什麼區別,防止敲擊鍵盤是出錯時,編譯器是否能提示報錯。

if(null != p) 如果寫錯寫成if(null = p) 會報錯

if( p!=null )如果寫錯寫成if(p=null) 不會報錯一種程式設計小技巧,沒什麼的

3樓:匿名使用者

功能是一樣的,只是傳說中如果使用null != p則不容易出錯。因為有些人很粗心地把!=或==寫成=。

但我個人認為還是寫p != null比較好,這樣比較符合習慣。

c語言裡int *p; if(*p==null)和if(p==null)有什麼區別 我不怎麼理解這

4樓:

帶*號是取值的意思,即取指向位址的值。

所以if(*p == null)是判斷指標p指向的位址儲存的值是否為null

if(p == null)是判斷指標p是否指向null希望對你有幫助。

5樓:聽不清啊

int *p;的話,

*p是乙個int值,所以,if(*p==null)是不對的。

6樓:匿名使用者

不理解慢慢理解。用腦子。。。。。

if(p==null)啥意思和struct link *p=null有啥區別c語言

7樓:岔路程式緣

if(p==null)是選擇

復語句,括號內是判斷p與

制null的值是否相等的邏bai輯運算表示式;

struct link *p=null是定義語句,du它定義p是指向自定zhi義p為乙個結構dao體型別link型的乙個指標,並讓它指向null(空)。

==是邏輯運算子(相等)

=是賦值符

請問if(p!=null)與if(p)這兩個條件語句有什麼區別?我在vc中執行時第一種寫法會出錯,第二種寫法執行成功 10

8樓:匿名使用者

if(p!=null)與if(p) 的意思是一樣的,都是說p不是0時為真

null 是個巨集,其值為0 如果你程式出錯,可能是你沒有引用相應的標頭檔案

#include

9樓:

p 是指標。c++ 定義

#define null 0

c 定義

#define null ((void*) 0)p 是指標,p 要初始化。

if(p) -- p 為 0 等於假。非0 等於真版if(p!=null) 條件成立為真權,不成立為假如果 while(p!

=null 沒錯,if(p!=null) 也應當沒錯

你的錯誤資訊圖形看不清。

10樓:主頁

這兩個實現結果一樣,但有點區別,p!=null 返回的是bool值。

你需要定義 define null 0

在c語言中,null等不等於0?假設p是乙個指標變數,if(p);和if(p!=null);這兩個

11樓:冰川和企鵝

對這個問題的回答與「等於」所指的意思有關。如果你是指「與。比較的結果為相等」,例如:

if(/* ... */)

else

/* ... */

if(p==0)

那麼null確實總是等於0,這也就是空指標定義的本質所在。

如果你是指「其儲存方式和整型值。相同」,那麼答案是「不」。null並不必須被存為乙個整型值0,儘管這是null最常見的儲存方式。在有些計算機中,null會被存成另外一些形式。

如果你想知道null是否被存為乙個整型值0,你可以(並且只能)通過除錯程式來檢視空指標的值,或者通過程式直接將空指標的值列印出來(如果你將乙個空指標強制轉換成整型別,那麼你所看到的很可能就是乙個非零值)。

12樓:百度使用者

null意思是沒有定義任何內容 而0具有一定的數值意義

在c語言中if(null)成立嗎?

13樓:匿名使用者

null 在 c 語言中為乙個巨集,定義為:

#define null 0

所以 if( null ) 即為 if( 0 )if( p ) 和 if( 0 ) 是完全不一樣的:

if( p ) 是判斷 p 是否為空,即 p 是否為nullif( 0 ) 返回的結果一定是 false

14樓:匿名使用者

乙個判斷指標,乙個判斷整數

if(!p) if(p!=null) 這兩種寫法那種比較好? 10

15樓:匿名使用者

void delete(lnode* head) //刪除學生覆信制息

//if(p!=null) //出錯

if(p) //正確

else cout<<"沒有找到該學生資訊\n";

}沒什麼區別,防止敲擊鍵盤是出錯時,編譯器是否能提示報錯。

if(null != p) 如果寫錯寫成if(null = p) 會報錯

if( p!=null )如果寫錯寫成if(p=null) 不會報錯一種程式設計小技巧,沒什麼的

16樓:匿名使用者

使用前面乙個,0的時也可以用!

17樓:全連的希望

這兩個的含義不一樣,不應該是if(!p)和if(p==null)?

18樓:

前面乙個,少按好幾下按鍵呢,,

19樓:大唐行

差不多 還是前面的好些吧 萬一有的編譯器沒定義null

if(null != p)和if( p!=null )在c語言中有什麼區別?具體是什麼意思?

20樓:姓邵名宇銘

有區別。

第一種寫法更安全 防止手殘寫成= 不報錯 不好找bug。

流程圖開始、初始化:首先是根據專案的要求確定要用到的變數與自定義的一些資料;這些是寫程式的第一步,相對來說是比較容易的。

流程圖主體:也就是專案所要達到的目的,畫出流程圖的行動方案、普通工作環節、問題判斷或判定環節、輸入輸出;這裡主要的重點是理清邏輯關係。

結束:有結束的程式要畫出來,一些無限迴圈的可以不用畫。

到此,乙個完整的流程圖就畫出來了。

這些都是很容易就可以畫出來的,把複雜的簡單化,只要把流程圖畫出來就可以根據流程圖一步一步的把程式編寫出來。

流程圖的草稿畫完了,然後進行完善,從頭到尾的讀一次,看看是不是有漏掉的地方,如:判定的地方是不是要按鍵觸發等等。

檢查沒問題之後我們就可以根據流程與步驟,寫程式了。程式開頭和結尾是很容易的,而中間是要靠我們的基礎知識和平時的積累。

流程圖相當於題目,甚至比題目更加的清晰明了,所以新手寫程式不妨先畫乙個流程圖在寫,其實一些大的專案,畫流程圖更是必須的,錯綜複雜的關係用流程圖就可以輕鬆的解析明白。

例如:設計乙個低頻訊號發生器,下圖就是流程圖,只要根據流程圖編寫就可以很容易的把程式寫出來了。而這個專案的目的是能夠輸出正弦波、三角波、和方波訊號,並可以調整個新號的頻率;

根據上面所說:首先是開始、初始化,然後是通過按鍵判斷,判斷後是進行相關的操作(波形的產生,頻率的改變)。

每一件複雜的事情都是有很多簡單的事情構成的,解決了簡單的事情,複雜的也就慢慢的被解決了。

c語言中,(p為乙個指標),語句if(!p)是什麼意思?能給乙個簡單例子嗎?

21樓:匿名使用者

!p意思就是 非p,

如果p的值為0,!p判定為真;

如果p的值不是0,!p的判定為假

現在乙個指標,指標有內容,即:p的值不是0,!p的判定為假如果指標沒有內容,null,即:p的值為0,!p判定為真;

22樓:

在沒有得到有效記憶體的情況下p=null

if(!p)就相當於if(p!=null)

一般用來判斷申請記憶體是否成功

23樓:匿名使用者

通常指標在未應用時為避免誤用會賦null,空值。指標很危險。

24樓:匿名使用者

是否申請成功和釋放前的判斷。

小狗和猴子和兔子和大象作文,小狗和猴子和兔子和大象作文

在深林里,小兔,小猴和小狗是大象最好的朋友。一天,小兔,小猴和小狗在一起商量準備大吃一頓。於是小兔提議說 我們來吃蔬菜沙拉吧!小猴說 可以呀,可是,一盤蔬菜沙拉哪夠我們吃,要不我再去果園摘些果子跟蔬菜沙拉一起拌著吃吧,小兔你再去菜園拔一些大白菜。你們都有吃的了,那我吃啥呀?小狗在旁邊悶悶不樂的說。是...

3和4365和76誰大,53和4365和76誰大

第一組,因為分母相同,只要比較分子就行啦,因為5比4大,所以5 3大,其實你也可以除一下,比較一下小數誰大,5 3 1.67,4 3 1.33,顯然啦!第二組也是這樣算,6 5 1.2,7 6 1.17,所以6 5大!嘿嘿,看在我寫的這樣詳細的情況下,給個最佳答案吧!7 6等於1 1 6,6 5 1...

拼音和組詞,和的拼音和組詞

拼組詞 拼命 打拼 拼寫 拼死 比拼 拼力 拼合 拼搶 音組詞 音量 聲音 音響 讀音 濁音 噪音 音韻 和組詞 和面 暖和 和氣 平和 和好 總和 和聲 附和 sh 設施 na 抓耳撓腮 ji n 艱苦y 毅力ch n 鏟子li 惡劣r j 譏笑 ji ng 豆漿ch 岔路口 和 的拼音和組詞 a...