已采納回答 / RuthlessPotato丶
你把struct weapon *p你把它換成int *p,你看懂嗎?定義struct類型的地址,其實(shí)struct也是一種類型了,C語言中給出了另一種構(gòu)造數(shù)據(jù)類型——“結(jié)構(gòu)”,不能只有int啥的是類型,struct也是類型。
已采納回答 / 慕標(biāo)6387096
#define pd(a) printf("輸入的整數(shù)是:%d",a)#define pf(a) printf("輸入的小數(shù)是:%d",a),在main中只要調(diào)用pd(3),pf(2.5)就能打印了
2016-10-15
已采納回答 / abcba1
這個(gè)問題很容易理解, 奇數(shù)的2進(jìn)制,最低位(也就是最右邊的那一位)一定為1,而偶數(shù)一定為0.?然后你再用1去與這個(gè)奇數(shù)或者偶數(shù)做位運(yùn)算。就很容易看出來了。
2016-10-10
已采納回答 / Hisos
你是直接打印的next的地址啊,計(jì)算機(jī)怎么知道你要打印哪個(gè)結(jié)構(gòu)體的next?修改為p &a.next
已采納回答 / 122138763238273
如果只聲明指針變量, 它的值是一個(gè)未知的, 不是默認(rèn)為NULL.
已采納回答 / kming
沒什么意義吧,只是初始化,后面還要從新指向p1
已采納回答 / xsxxsx
同一塊地址,p1=p2是為了讓p2保存p1的內(nèi)容,好可以給p1賦予新的內(nèi)存地址,而保證上一塊地址不會(huì)丟失
已采納回答 / spiritwyc
p2->next的含義是“指針”,指針指向下一個(gè)對(duì)象的地址,所以p2->next指向下一個(gè)對(duì)象p1,這是正確的,對(duì)象里保存的屬性才是代碼需要用到的,而指針只不過指向下一個(gè)取屬性的對(duì)象,僅僅是指路功能;p2->next=p1->next,就變成指針指向指針,這樣根據(jù)p2的指針取到的東西,并不是p1對(duì)象,而變成p1的下一個(gè)結(jié)點(diǎn)的指針,那就等于跳過了p1了,邏輯就不對(duì)了,所以p2的指針初衷就是要指向p1這個(gè)對(duì)象的。
已采納回答 / 泡面吃胖的孫同學(xué)
按我的理解結(jié)構(gòu)體指針傳遞的應(yīng)該是結(jié)構(gòu)體的首地址,你把p++后指向的是12個(gè)字節(jié)后的地址,并非下一個(gè)節(jié)點(diǎn)的首地址,而是下一個(gè)節(jié)點(diǎn)的指針地址,肯定無法讀出數(shù)據(jù),你可以試試在創(chuàng)建結(jié)構(gòu)體的時(shí)候?qū)⒅羔槍懺诘谝粋€(gè)位置,等同于結(jié)構(gòu)體首地址,應(yīng)該可以。
已采納回答 / HuangQingFeng
#include <stdio.h>?struct nam{? ? char *name[20]; ?//用指針? ? int old;? ? float height;? ? struct nam * next;};int main(){? ? struct nam a,b, *head;? ? a.name[0]="李"; ?//第一個(gè)地址? ? a.old=16;? ? a.height=70.2;? ? b.name[0]="林";? ? b.old=21;? ? b.height=6...