前言
今天剛好看到數(shù)據(jù)結(jié)構(gòu)相關(guān)的書籍匆绣,發(fā)現(xiàn)它對(duì)數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)類型的概念寫得并不是很清楚,讓人迷惑损搬。于是想著把自己的理解寫下來,互相討論一下柜与,希望得到真相巧勤。
數(shù)據(jù)類型
數(shù)據(jù)類型主要以下四個(gè):
- 基本類型
數(shù)值類型(整型、浮點(diǎn)型)和字符類型char - 構(gòu)造類型
結(jié)構(gòu)體struct弄匕、共用體union颅悉、枚舉類型enum - 指針類型
- 空類型void
數(shù)據(jù)類型:知名達(dá)意,是一種數(shù)據(jù)的類型迁匠。是對(duì)數(shù)據(jù)的一種分類剩瓶。是為了在有效利用內(nèi)存的情況下,表達(dá)現(xiàn)實(shí)數(shù)據(jù)的分類城丧。
比如:
我們要表達(dá)現(xiàn)實(shí)中的字符只需要1字節(jié)延曙,所以就有了char型;
但要表示整數(shù)芙贫,就得盡可能大搂鲫,所以就有了4字節(jié)的int型和更大的8字節(jié)的long型;
而為了表示現(xiàn)實(shí)生活中更復(fù)雜的情況磺平,比如一個(gè)人既有年齡魂仍,又有性別,所以就有了結(jié)構(gòu)體拣挪,等等擦酌。
數(shù)據(jù)結(jié)構(gòu)
那么數(shù)據(jù)結(jié)構(gòu)又是什么呢?
書上的定義是:數(shù)據(jù)結(jié)構(gòu)是相互之間存在一種或多種特定關(guān)系的數(shù)據(jù)元素的集合菠劝。
可見赊舶,數(shù)據(jù)結(jié)構(gòu)主要體現(xiàn)在數(shù)據(jù)間的關(guān)系上。而數(shù)據(jù)是存儲(chǔ)在內(nèi)存中的。如果數(shù)據(jù)元素是存儲(chǔ)在一片連續(xù)內(nèi)存里笼平,就是順序存儲(chǔ)結(jié)構(gòu)园骆;如果數(shù)據(jù)元素存儲(chǔ)在任意的內(nèi)存單元里,就是鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)寓调。
數(shù)組就是存儲(chǔ)在一段連續(xù)的內(nèi)存空間啦锌唾,由此可見數(shù)組是最最基礎(chǔ)的數(shù)據(jù)結(jié)構(gòu)。
同理可推夺英,棧晌涕、隊(duì)列、鏈表痛悯、二叉樹都是數(shù)據(jù)結(jié)構(gòu)余黎,他們都存在數(shù)據(jù)元素間的關(guān)系。
結(jié)論
數(shù)據(jù)類型:主要體現(xiàn)類型二字载萌,是指一個(gè)數(shù)據(jù)元素的類型惧财。
數(shù)據(jù)結(jié)構(gòu):主要體現(xiàn)關(guān)系二字,是指數(shù)據(jù)元素間的關(guān)系炒考。