[問題] "!"用法疑問

看板C_and_CPP (C/C++)作者 (東方一隻鹿)時間15年前 (2010/08/18 23:13), 編輯推噓2(2015)
留言17則, 6人參與, 最新討論串1/2 (看更多)
( *[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

08/18 23:21, , 1F
NULL就是0 C/C++遇到指向NULL的有特殊的處理
08/18 23:21, 1F

08/18 23:29, , 2F
為什麼不太好用程式去 run
08/18 23:29, 2F

08/18 23:29, , 3F
指向零? 不是指向空?
08/18 23:29, 3F

08/18 23:34, , 4F
因為做鍊結 每次把最後一個節點 讓他指向NULL 程式就怪怪
08/18 23:34, 4F

08/19 00:09, , 5F
C/C++裡的 NULL 就是 0, 口語偶爾會聽到說指到 空
08/19 00:09, 5F

08/19 00:10, , 6F
寫LL時, 通常是把最後一個node的next指向NULL; 有時候
08/19 00:10, 6F

08/19 00:11, , 7F
會簡寫判斷 ptr!=NULL 為 !ptr, 或者 i!=0 為 !i,
08/19 00:11, 7F

08/19 00:12, , 8F
因為 !0 => !false => true; !(非0) => !true => false
08/19 00:12, 8F

08/19 00:37, , 9F
感謝上面大大講解
08/19 00:37, 9F

08/19 18:17, , 10F
其實正確說法應該是, NULL是 "(void *)0"
08/19 18:17, 10F

08/19 18:18, , 11F
色即是空,空即是色...空空如也!
08/19 18:18, 11F

08/19 18:19, , 12F
!NULL = !0 = not 0x00000000 = 0xFFFFFFFF = 有
08/19 18:19, 12F

08/19 21:46, , 13F
^^^^^^^^^^^^^^^^^^^^^^^^^^^
08/19 21:46, 13F

08/19 21:47, , 14F
上面mark那段應該有問題, 這個結果應該是 ~ 做的事,
08/19 21:47, 14F

08/19 21:47, , 15F
not 0x00000000 應該是會算出 1 或者理解成true吧....??
08/19 21:47, 15F

08/19 21:50, , 16F
樓上正姐 (誤
08/19 21:50, 16F

08/20 18:10, , 17F
一時頭昏打錯~~~
08/20 18:10, 17F
文章代碼(AID): #1CQ_YZAk (C_and_CPP)
討論串 (同標題文章)
以下文章回應了本文
完整討論串 (本文為第 1 之 2 篇):
2
17
文章代碼(AID): #1CQ_YZAk (C_and_CPP)