數(shù)組是不是數(shù)據(jù)類型?如果是,是什么數(shù)據(jù)類型?在C/C中,數(shù)組是一種內(nèi)置數(shù)據(jù)類型,但它不是一種基本數(shù)據(jù)類型,而是一種構(gòu)造數(shù)據(jù)類型。從語義上講,它是一組有序的相同數(shù)據(jù)元素,占據(jù)一個(gè)連續(xù)的物理空間。語言特性中對(duì)C/C數(shù)組的支持非常簡(jiǎn)單。相應(yīng)的定義形式是t[n]a={初始化列表}。實(shí)際任務(wù)是分配sizeof(T)*n字節(jié)的空間,然后使這些空間中的值等于初始化列表中的值。分配空間的恢復(fù)是隱式的(對(duì)于自動(dòng)變量,它在函數(shù)的末尾,對(duì)于靜態(tài)變量,它在過程的末尾),不需要語言用戶的干預(yù)。C/C語言特性不直接支持稱為動(dòng)態(tài)數(shù)組的動(dòng)態(tài)線性表或數(shù)據(jù)結(jié)構(gòu)。通常,手動(dòng)調(diào)用庫(kù)函數(shù)以按指針長(zhǎng)度分配/釋放空間,但其中的元素也可以由[]運(yùn)算符引用。對(duì)于[],如果不考慮過載,則a[x]相當(dāng)于*(ax),其中a是地址,x是整數(shù)偏移量,實(shí)際功(尋址)留給CPU??紤]到目標(biāo)代碼中的指令數(shù),此操作的時(shí)間復(fù)雜度為O(1)(恒定時(shí)間),它與a和X的值(所謂的“瞬間”)無關(guān)。作為程序員,不可能通過C/C語言本身來干擾這個(gè)過程。如果要實(shí)現(xiàn)類似的函數(shù),例如封裝數(shù)組類,C可以通過重載操作符[]并調(diào)用*,或[]作用于實(shí)現(xiàn)內(nèi)的指針來實(shí)現(xiàn)。一般來說,實(shí)現(xiàn)的復(fù)雜性是O(1)。===[原始響應(yīng)組]
當(dāng)前文章:數(shù)組的概念和特點(diǎn)數(shù)組是不是數(shù)據(jù)類型?如果是,是什么數(shù)據(jù)類型?-創(chuàng)新互聯(lián)
文章鏈接:
http://weahome.cn/article/cegcid.html