看板 C_and_CPP 關於我們 聯絡資訊
指標指向 0 代表指向「沒有東西」, 也就是 NULL 所以在這個狀況 0 和 NULL 是一樣的 ※ 引述《calqlus (東方一隻鹿)》之銘言: : ( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 ) : ( 未必需要依照此格式,文章條理清楚即可 ) : 除了 != 是不等於的意思還知道 : 那問指標問題 : int* ptr; : if(!(*ptr)) cout << "a"; : else cout << "b"; 可是你這個程式不一樣 *ptr 是要對 ptr 這個指標取值 所以 !(*ptr) 是在 ptr 這個指標所指向的值是零時會得到真值 而不是 ptr 為空指標(指向空)時得到真值 這個敘述的判斷式是 !ptr 才對 : 當然會輸出 a : 我把!(變數)的意思 當作 不存在 或 指向的整數 為空 : 到這我就搞不清楚一個問題 : 就是 NULL 的用法 : NULL 是指向 空 的意思嗎 -- Les grandes et les meilleurs tone from "Zadok the Priest" Eine grosse stattliche Veranstaltung by F. Handel THE MAIN EVENT! These are the men Sie sind die Besten "Champions League" by Tony Britten THESE ARE THE CHAMPIONS! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.81.146 ※ 編輯: uranusjr 來自: 114.32.81.146 (08/19 00:05)
FAITHY:原來如此 所以用*ptr會發生exception吧 還是也不會 08/19 00:18
freesamael:可能會導致 segmentation fault 08/19 00:22
FAITHY:謝謝樓上:) 08/19 00:35
calqlus:SOGA 08/19 00:42