從C語言的角度來解釋什麼是抽象資料型別

時間 2021-10-17 04:40:55

1樓:陳學陽

簡單的說一下吧,所謂抽象資料型別adt,是指 我們在邏輯上定義的 一種 資料型別。

如你所知道的,計算機內,無論是記憶體還是外存,都只是一組二進位制的數位而已。

大多數時候,比如我們所熟知的 char型別、int型別等等,都是一組已經定義好的二進位制數位。

所謂定義好,是指,在這一組數位中,如char型別,8位,即一組8個二進位制數位,我們如何標識和處理每一位,以及解讀每一位所代表的意義。

你學過c,應該知道ascii碼,和二進位制計數。 char的這個資料型別的含義就是說 以二進位制計數 算出對應的數值, 再以ascii碼為標準,解讀出這8位二進位制位中所表示的字母。

事實上,我想說的是,這就是一個基本的抽象資料型別了。

當然,adt不僅僅是一組數位的定義,他還包括一組定義在這個結構上的一組操作。

struct這個方法,在後來的演變中,成為了c++和其他高等語言中的類(class)。

我知道,這樣講你肯定不是很明白,但關於這個東西,有一門課程叫做《資料結構》,中間詳細敘述了所有有關 抽象資料型別的概念 。

其中,有一本 《資料結構c語言版》清華大學出版社 嚴蔚敏著 的教材,是所有計算機專業學生必修的一門課程。你可以看看。

祝好運!

如果對您有幫助,請記得采納為滿意答案,謝謝!祝您生活愉快!

2樓:葉小憐

資料型別包括兩個方面:1,這種型別所能代表的值的範圍,或者說這種型別裡面存的是什麼東西;2,可以對這種型別做什麼操作

所謂抽象資料型別,就是你在使用這個型別的時候,只要知道上面兩點就可以了,你不用去管它裡面是怎麼實現的。如果該型別的具體實現改變了,也不會影響使用這個型別的已有的程式的**。比如你在c語言裡面經常用到int這個型別,但你從來沒想過它是怎麼來實現int與int之間的加法,乘法的,你也不需要知道。

哪天編譯器把int型的加法改了一下,跟你也沒關係,你只要會使用就行了。

3樓:匿名使用者

高階程式設計語言c中,你在學習的時候,會學到例如整型、實型、字元型以及結構型的資料型別。這些資料型別是在c語言中的基本資料型別,此處你可以理解為是數值型的資料型別。

那麼,如何理解你所說得抽象資料型別呢?先對資料結構這四個字做個分解。

資料結構=資料+結構

資料分為數值型和非數值型

結構分為邏輯結構和物理結構

那麼抽象資料型別就是指在c語言環境下沒有的資料型別,即排除數值型資料型別以外的型別,明白了嗎,因為在還沒有出現物件導向程式設計前,現有的c提供的資料型別已經不能滿足程式設計的需要,但是為了滿足針對現實客觀事物的存在需要,通過c語言所提供的結構struct來實現對現有世界的程式設計需要。

這個抽象是人為的,就是由人對所研究事物的數學抽象,把具體的事物看做是像基本資料型別那樣的一種型別,此時雖然在程式設計中並不存在這種資料型別,但是為了程式設計需要,必須通過抽象的手段和方式來對所研究的事物進行一種人為定義的資料型別,而我們將這種資料型別稱為抽象資料型別。

c語言中的結構struct是c語言所提供的一種滿足人為需要的抽象資料型別的模板。在後來物件導向程式設計的出現,也是以c語言中的結構struct為基礎,做出的物件導向的類的概念,從而設計出類與物件的程式設計思想,這裡物件不就是c中的指標體現嗎,對吧。只不過c中的指標更加直觀,而類中的物件隱藏了指標的功能而已。

以上的個人觀點,希望對你有所幫助吧,相互學習,謝謝!

我們編寫的c語言從物理角度上看,它表示什麼?是高低電平?還是其他的什麼

ok洛陽水席 c語言會被編譯器翻譯成組合語言,再翻譯成機器語言。機器語言放在pc中,就是一行一行的指令,指令由一串二進位制數碼組成,一條指令通常由兩個部分組成 操作碼 地址碼 操作碼 指明該指令要完成的操作的型別或性質,如取數 做加法或輸出資料等。地址碼 指明操作物件的內容或所在的儲存單元地址。這些...

關於度的哲學解釋,從哲學的角度解釋何是知識

lls的解釋我不認同。物質是普遍聯絡而又相互區別的。聯絡在於它們都屬於物質範疇,區別在於物質間的內涵 外延以及在不同層次上屬性不同。比如你說的蘋果,在蘋果生成之前必須有蘋果樹,蘋果樹之前必須有生成蘋果樹的種子,在成為蘋果之後,它會被動物吃掉分化轉化為其他形式,也會腐爛被微生物分解為無機物等等。蘋果從...

物理學角度來解釋 霜前冷雪後寒,從物理學的角度上解釋「霜前冷,雪後寒」

1.霜前冷 霜是地面的空氣中水蒸氣在低溫下凝華而形成的冰晶。要想使水蒸氣從空氣中凝華出來,溫度必須是非常低的,即至少是低於0攝氏度,所以在霜結出之前,溫度應該是很低的。還有原因是由於結霜的時間大概是凌晨1 4點,人體的身體和心理都處於低潮,人體前夜的食物已經被消耗的差不多了,此時人體的產熱機能比較低...