已采納回答 / AAnonymous
malloc是分配內存(type*)malloc(size);分配size個字節的內存,因為malloc只能分配多少字節的內存,不能指定分配內存存什么類型,所以強轉為某類型(type*)其實這里C++寫相當于 p1=p2=new weapon();
2015-09-03
已采納回答 / 封不羈
為了下一次輸入時能夠得到這個鏈表的尾結點,然后將這次的輸入生成的結點鏈接到鏈表的最后成為新的尾結點,以此類推。如果不能很好理解的話,可以自己動手畫一張圖(下面的圖僅是參考),會清晰很多: )<...圖片...>
2015-08-14
已采納回答 / 封不羈
如果你學過java或者C++,對比他們的容器類,你就會知道,這些非常好用的容器類的原型就是鏈表,尤其是動態鏈表。而這些容器類的應用,幾乎所有的C++或者java項目都會用到他們: )
2015-08-09
已采納回答 / onemoo
C語言運算符有優先級和結合性,但是參與運算的操作數的求值順序并沒有規定。所以這兩個代碼是有問題的。第一個例子中:return 后面的 n-- 的值肯定是n,但是n自減在這個表達式中是什么時候發生的并不確定(在return語句后肯定減1了,但也沒意義了)第二個例子:step的參數--n的值肯定是n-1,而且在函數調用后n的值也肯定是減1了,但是由于操作數的求值順序未定,所以不能保證肯定先調用step函數。這兩個代碼的行為都是未定義的,能出運算結果不一定代表這就是“正確的”結果。
2015-08-05
已采納回答 / onemoo
標準對此沒有規定,完全由編譯器自己實現。自己寫代碼時不要依賴這種“未指定”的行為。想要知道你使用的編譯器是怎樣實現的,就用gdb打印出數據結構看一下吧。
2015-08-01
已采納回答 / 墮天使008
unsigned 并不是 一個類型, unsigned 這個關鍵詞不能單獨出現, unsigned long或者unsigned int 才是一個類型,指的是 無符號的long 類型,雖然長度沒變依舊是long 的長度,但數據的最大值是原來的2倍。單獨一個 unsigned 該表示什么類型? “無符號的” 這個詞怎么算類型, 不限制長度的無符號數值嗎?
2015-07-24