您好,登錄后才能下訂單哦!
程序員的大部分時(shí)間都在忙于代碼的實(shí)現(xiàn),不管是c語言 還是c++ java...都涉及到了數(shù)據(jù)類型。
但是什么是數(shù)據(jù)類型呢?失眠的晚上,我思考很久。讓大家見笑。
今天就以c語言的數(shù)據(jù)類型為例,簡單聊一下數(shù)據(jù)類型這個(gè)名詞吧。
聊到數(shù)據(jù)類型,就首先聊一下內(nèi)存。不管寫的代碼是在unix linux 還是windows上運(yùn)行,都需要涉及到內(nèi)存的使用。但是程序中看到的這些只是內(nèi)存的地址編號(hào),我們將其稱為虛擬地址。
而實(shí)際的物理內(nèi)存地址,作為應(yīng)用程序員是根本看不到的。 在32bit機(jī)上,cpu可以訪問的虛擬地址編號(hào)可以從0~4G-1.每個(gè)地址編號(hào)可以對(duì)應(yīng)一個(gè)字節(jié)物理地址空間,也可以不對(duì)應(yīng)具體的物理地址空間。
int var_i=10;
char var_c='m';
每個(gè)變量和常量都有自己的地址空間。怎樣才能訪問這些地址空間里的內(nèi)容呢?
首先根據(jù)變量或常量的名字找到對(duì)應(yīng)的地址空間,然后訪問空間里的內(nèi)容。
這句話沒有問題,那從地址空間里取一個(gè)字節(jié)呢?兩個(gè)字節(jié)呢?還是n個(gè)字節(jié)呢?
根據(jù)什么決定呢? 那就是數(shù)據(jù)類型。如果是char類型的,那就取一個(gè)字節(jié)的內(nèi)容。如果是int,那就取四個(gè)字節(jié)的內(nèi)容,如果是short,那就取2個(gè)字節(jié)的內(nèi)容。如果是float,那就取四個(gè)字節(jié)的內(nèi)容。
int? ?float都是四個(gè)字節(jié),那又如何區(qū)分呢?
取出來數(shù)據(jù)以后,還有字節(jié)數(shù)據(jù)的組織方式,根據(jù)不同的類型來組織數(shù)據(jù)。
這就是數(shù)據(jù)類型。
總之,數(shù)據(jù)類型就是訪問內(nèi)存的規(guī)則而已。
想起來魯迅先生說過的?!捌鋵?shí)地上本沒有路,走的人多了,也便成了路”
其實(shí)計(jì)算機(jī)的世界里本沒有數(shù)據(jù)類型,規(guī)則使用多了,便有了數(shù)據(jù)類型。
歡迎大家交流溝通。愚見
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。