[爆卦]c語言驚嘆號是什麼?優點缺點精華區懶人包

為什麼這篇c語言驚嘆號鄉民發文收入到精華區:因為在c語言驚嘆號這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者calqlus (東方一隻鹿)看板C_and_CPP標題[問題] "!"用法疑問...


( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 )
( 未必需要依照此格式,文章條理清楚即可 )

除了 != 是不等於的意思還知道

那問指標問題

int* ptr;

if(!(*ptr)) cout << "a";
else cout << "b";

當然會輸出 a

我把!(變數)的意思 當作 不存在 或 指向的整數 為空

到這我就搞不清楚一個問題

就是 NULL 的用法

NULL 是指向 空 的意思嗎

我不太好用程式去run (編譯器 是DEV的)

最近作串鍊

遇到驚嘆號和NULL的時常會出錯

感覺就算指向NULL好像是不算空的...

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.47.133.205
joefaq:NULL就是0 C/C++遇到指向NULL的有特殊的處理 08/18 23:21
yoco315:為什麼不太好用程式去 run 08/18 23:29
calqlus:指向零? 不是指向空? 08/18 23:29
calqlus:因為做鍊結 每次把最後一個節點 讓他指向NULL 程式就怪怪 08/18 23:34
VictorTom:C/C++裡的 NULL 就是 0, 口語偶爾會聽到說指到 空 08/19 00:09
VictorTom:寫LL時, 通常是把最後一個node的next指向NULL; 有時候 08/19 00:10
VictorTom:會簡寫判斷 ptr!=NULL 為 !ptr, 或者 i!=0 為 !i, 08/19 00:11
VictorTom:因為 !0 => !false => true; !(非0) => !true => false 08/19 00:12
calqlus:感謝上面大大講解 08/19 00:37
tomnelson:其實正確說法應該是, NULL是 "(void *)0" 08/19 18:17
tomnelson:色即是空,空即是色...空空如也! 08/19 18:18
tomnelson:!NULL = !0 = not 0x00000000 = 0xFFFFFFFF = 有 08/19 18:19
VictorTom: ^^^^^^^^^^^^^^^^^^^^^^^^^^^ 08/19 21:46
VictorTom:上面mark那段應該有問題, 這個結果應該是 ~ 做的事, 08/19 21:47
VictorTom:not 0x00000000 應該是會算出 1 或者理解成true吧....?? 08/19 21:47
loveme00835:樓上正姐 (誤 08/19 21:50
tomnelson:一時頭昏打錯~~~ 08/20 18:10

你可能也想看看

搜尋相關網站