亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

關于struct的定義

在struct里定義char 類型必須用數組形式嗎??

char name[20]能不能改成char name?

不能的話存在什么錯誤?

為什么下面定義的int類型的atk和price沒有寫成atk[20]和price[20]?

正在回答

2 回答

char類型的數據是一個字符型數據 比如char name='a'; 而人的名字是多個字符組成,所以需要用一維數組進行存放,而后面的atk指的是攻擊力 而int型數據范圍一般是0-2^32,所以只需要一個int就ok了 例如 ak-74的攻擊力為500 我們可以寫為 atk=500; 價格同理 你說的如果 后面代表攻擊力的與價格的變成一個數組 那么它們可以存放多個武器的價格與攻擊力, 與需求不符 所以沒有用數組。。你要自己練一練就知道了 ?

0 回復 有任何疑惑可以回復我~
#1

Jessibel 提問者

感謝!
2017-05-28 回復 有任何疑惑可以回復我~
#2

慕絲3566996

那20能不能換成別的數呢?
2019-11-06 回復 有任何疑惑可以回復我~

首先char name[20]應該不可以改成char name。然后,char定義字符類型的數據占1個字節,int定義整型數據占2個字節。我猜,char name[20]的最后一個地址應該是int atk 數據存放的上一個地址,為防止名字過長溢出,影響到后面int atk里存放的數據,所以給char name 加上[20]。最后,沒有給int atk和int price加上長度限制是因為int的聲明已經足夠存放數據所以不用加[]。我想其實應該是可以給int atk 和int price加長度限制的,這里面的一些原理我沒懂得很透徹,所以只能幫你到這里了~~不知道對錯,請后面看到的人指點,這只是本人一點淺薄的看法~拋磚引玉用~

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

關于struct的定義

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號