看板 C_and_CPP 關於我們 聯絡資訊
char *username = (char *) -1; 如題 對指標還是不太熟 請問這行code的意思是? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 174.56.107.236 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1422633679.A.74F.html
azureblaze: 放一個固定的值用來代表這個變數還沒有東西在裡頭 01/31 00:07
azureblaze: 後面可以if(username==-1) error("username not set") 01/31 00:08
azureblaze: 至於為何不用0就好了... 大概"空的"也是有效狀態吧 01/31 00:09
x000032001: 用NULL或nullptr就好啦 01/31 00:13
chrisenzo: 那為何不char *username = -1就好呢? 01/31 00:37
tjjh89017: @chri: 這樣會噴未轉型的警告 01/31 01:07
tomnelson: -1會被compiler預設視為int型態,所以一定需要強制轉型. 01/31 03:11
haoboo: 沒有強轉型有些compiler會不給你過,直接跳error 02/01 00:16
remmurds: 非常不建議這樣寫 02/01 10:59