[問題] 看不懂這行code..

作者: chrisenzo (5566)   2015-01-31 00:01:16
char *username = (char *) -1;
如題
對指標還是不太熟
請問這行code的意思是?
謝謝
作者: azureblaze (AzureBlaze)   2015-01-31 00:07:00
放一個固定的值用來代表這個變數還沒有東西在裡頭後面可以if(username==-1) error("username not set")至於為何不用0就好了... 大概"空的"也是有效狀態吧
作者: x000032001 (版廢了該走了)   2015-01-31 00:13:00
用NULL或nullptr就好啦
作者: chrisenzo (5566)   2015-01-31 00:37:00
那為何不char *username = -1就好呢?
作者: tjjh89017 (伊達政宗)   2015-01-31 01:07:00
@chri: 這樣會噴未轉型的警告
作者: tomnelson   2015-01-31 03:11:00
-1會被compiler預設視為int型態,所以一定需要強制轉型.
作者: haoboo (薩伊克斯)   2015-02-01 00:16:00
沒有強轉型有些compiler會不給你過,直接跳error
作者: remmurds (Stronghold)   2015-02-01 10:59:00
非常不建議這樣寫

Links booklink

Contact Us: admin [ a t ] ucptt.com