3 回答

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超6個(gè)贊
class幾乎可以完全替代struct來(lái)實(shí)現(xiàn)所有的功能,至少在以下情況下,鑒于性能上的考慮,我們應(yīng)該考慮使用struct來(lái)代替class:
實(shí)現(xiàn)一個(gè)主要用于存儲(chǔ)數(shù)據(jù)的結(jié)構(gòu)時(shí),可以考慮struct。
struct變量占有堆棧的空間,因此只適用于數(shù)據(jù)量相對(duì)小的場(chǎng)合。
結(jié)構(gòu)數(shù)組具有更高的效率。
提供某些和非托管代碼通信的兼容性。

TA貢獻(xiàn)1873條經(jīng)驗(yàn) 獲得超9個(gè)贊
類和結(jié)構(gòu)的區(qū)別
1 類是引用類型 結(jié)構(gòu)是值類型
2 類可以繼承 結(jié)構(gòu)不能繼承
3 類有默認(rèn)的構(gòu)造函數(shù) 結(jié)構(gòu)沒有默認(rèn)的不帶參數(shù)的構(gòu)造函數(shù)
一般都用類 結(jié)構(gòu)用的很少了

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超13個(gè)贊
結(jié)構(gòu)體和數(shù)組一樣都是構(gòu)造型數(shù)據(jù)類型,和數(shù)組不同的是,結(jié)構(gòu)體可以處理不同類型的數(shù)據(jù)。如下定義一個(gè)學(xué)生信息的結(jié)構(gòu)體:
struct student{
int number;
char sex[3];
char name[10];
srtuct birthday birth;//birthday 是結(jié)構(gòu)體類型的數(shù)據(jù),這里沒有寫出來(lái)
char dep[20];
}這個(gè)結(jié)構(gòu)體有三種類型的數(shù)據(jù),可以看出結(jié)構(gòu)體里還可以有結(jié)構(gòu)體類型、共用體的類型的數(shù)據(jù)。
共用體是一種多變量共享存儲(chǔ)空間的構(gòu)造類型,它允許幾種不同的變量共用同一存儲(chǔ)空間。共用體和結(jié)構(gòu)體的區(qū)別:1.結(jié)構(gòu)體每一位成員都用來(lái)表示一種具體事務(wù)的屬性,共用體成員可以表示多種屬性(同一存儲(chǔ)空間可以存儲(chǔ)不同類型的數(shù)據(jù))。
2.結(jié)構(gòu)體總空間大小,等于各成員總長(zhǎng)度,共用體空間等于最大成員占據(jù)的空間。
3.共用體不能賦初值。
只要理解了共用體了結(jié)構(gòu)體他們的區(qū)別應(yīng)該能分清楚。
- 3 回答
- 0 關(guān)注
- 513 瀏覽
添加回答
舉報(bào)