已采納回答 / 田心楓
應(yīng)該差不多吧?但是可能有些東西是新的而已 ?你們大學沒學到而已
已采納回答 / 稚氣磅礴
每個指針在你賦值給它之前,它都需要有一個確定的指向地址.如果你直接head = p1;因為head沒有確定的地址,運行時就會出現(xiàn)未知錯誤.好像這就是所謂的野指針.加了head = NULL;就是為了給head一個確定的指向;
已采納回答 / 筑夢之隊
//倒序打印for(index=0; index<=length/2-1; index++) ? ? ? ?//二分 交換?{????temp = word[index];????word[index] = word[length-index-1];????word[length-index-1] = temp;}1、一個基本的錯誤為:沒有意識到數(shù)組的下標是位于[0,length),所以導(dǎo)致出現(xiàn)了后面兩個問題:2、二分交換的結(jié)束值的取值有問題。應(yīng)該是length/2-1,而不是(length+ind...
2017-01-20
已采納回答 / 天之大
malloc返回的是開辟空間的首地址,他并不知道你放的是什么類型的東西,所以要用第一個括號中的內(nèi)容強制轉(zhuǎn)換指針類型為struct weapon*,和p1的類型轉(zhuǎn)為一樣,否則會警告指針類型不符合sizeof運算符可以求類型所占空間大小比如sizeof(int),也可以求某個量的空間大小,比如struct weapon weapon1={......};可以用sizeof(weapon1)求他的大小,等于sizeof(struct weapon)
已采納回答 / 天之大
是的,自己試試就知道了,不過要寫為struct weapon weapon1={1,2};&weapon1.a和&weapon1
已采納回答 / 慕粉13285976209
首先, p1和p2是指針, 他們都指向一個地址. 這里的scanf中取的是(p1->atk)這個整體的地址. "->"的優(yōu)先級高于"&".
已采納回答 / 純愛楓若情
p1是一個指針這沒問題,但是關(guān)鍵是“p1->price”代表的就是指針里面的price這個變量,就相當于其他語言里的“p1.price”這本身是一個變量,當然要在前面加上“&”尋址符。
已采納回答 / 等不到忘不了
因為在循環(huán)中你一直在輸入數(shù)據(jù),所以要一直開辟新的內(nèi)存空間。
已采納回答 / qq_不言_6
create() 函數(shù)返回的是head的值
已采納回答 / qq_不言_6
p1 記錄當前正在輸入的結(jié)構(gòu)體,p2記錄當前正在輸入的結(jié)構(gòu)體的上一個結(jié)構(gòu)體,head指向的只是首地址,只在n==1的情況下進行賦值
已采納回答 / skldhaj4353820
如果寫入任何內(nèi)容,head不置空的話,返回的是個野指針,指向未知的地址。
已采納回答 / leekunhwee
printf("%s\n,%d\n",weapon_1.name,++weapon_1.atk); 改為?printf("%s\n %d\n",weapon_1.name,++weapon_1.atk); 即可
2016-10-25