struct list{int num;int score;struct list *next;}struct list *p,*listhead,*listpp=(struct list*)malloc(sizeof(struct list));listhead=p;listp=p;listp->next=NULL;listp->num=2;listp->score=86;
2 回答
已采納

onemoo
TA貢獻883條經驗 獲得超454個贊
結構體本身就是一段連續(xù)的內存空間,定義list類型的語句描述了在其中相應位置上該存什么東西(或者說是描述了該如何解釋相應內存位置上的數(shù)據(jù))。
p、listp 和 listhead 都被聲明為struct list指針,且隨后它們依次被指向為那段申請出來的內存。那么通過這些指針訪問這段內存,編譯器就會認為這段內存中的數(shù)據(jù)應按照list結構體來解釋,所以可以通過這些指針來設置結構體的成員(這一步對編譯器來說只不過就是在內存的相應位置上放入適當?shù)臄?shù)據(jù))。
C語言中幾乎所有的變量都是一段內存,這些內容如何使用完全是由該變量的類型決定的,這就是所謂C語言是強類型語言。
- 2 回答
- 1 關注
- 1899 瀏覽
添加回答
舉報
0/150
提交
取消