国产成人精品三级麻豆,色综合天天综合高清网,亚洲精品夜夜夜,国产成人综合在线女婷五月99播放,色婷婷色综合激情国产日韩

當(dāng)前位置:首頁(yè) > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 講師博文 > C語(yǔ)言:數(shù)據(jù)指針

C語(yǔ)言:數(shù)據(jù)指針 時(shí)間:2019-02-13      來(lái)源:華清遠(yuǎn)見(jiàn)

今天我們來(lái)聊一聊數(shù)組指針,對(duì)于C語(yǔ)言中常見(jiàn)數(shù)據(jù)類(lèi)型,數(shù)組和指針可能學(xué)過(guò)C語(yǔ)言的都不陌生,但兩個(gè)合起來(lái)又是怎么一回事呢?首先要理解數(shù)組指針,我們需要先從數(shù)組和指針說(shuō)起。

數(shù)組,什么是數(shù)組?即是將相同數(shù)據(jù)類(lèi)型的元素連續(xù)緊密的存儲(chǔ),稱(chēng)這種數(shù)據(jù)類(lèi)型叫數(shù)組。數(shù)組名即代表該數(shù)據(jù)類(lèi)型本身同時(shí)他本質(zhì)上卻又是一個(gè)地址,即數(shù)據(jù)元素的首地址。通常訪問(wèn)數(shù)據(jù)一般使用”數(shù)組名[數(shù)組下標(biāo)]”的方式訪問(wèn)數(shù)組中的元素,當(dāng)然也可以使用部分的指針?lè)绞饺ゲ僮鳌?/p>

那什么又是指針呢?指針即是地址,這種說(shuō)法其實(shí)不太準(zhǔn)確。通常我們所說(shuō)的指針是指指針變量,何為指針變量?指針變量是指一個(gè)存儲(chǔ)地址的變量,即是說(shuō)一個(gè)變量中存放了一個(gè)地址數(shù)據(jù),這個(gè)地址是指向一個(gè)某個(gè)數(shù)據(jù)類(lèi)型的。通常一個(gè)未賦初始值的指針變量叫作野指針,這種指針在程序中是很危險(xiǎn)的,因該指針除賦值以外的任何指針操作都將是危險(xiǎn)的,會(huì)發(fā)生意想不到的問(wèn)題甚至錯(cuò)誤。通常對(duì)于一個(gè)還不便于建立指向關(guān)系的指針,通常我們會(huì)把它的值設(shè)置為NULL,即地址0,這個(gè)指針?lè)Q作空指針。

那什么是數(shù)組指針呢?通常我們中文的語(yǔ)法結(jié)構(gòu),事物的本質(zhì)或重點(diǎn)一般會(huì)放在后邊,即數(shù)組指針,本質(zhì)上是一個(gè)指針,什么指針呢?一個(gè)指向數(shù)組的指針。那么前面我們說(shuō)到數(shù)組名本身就是一個(gè)地址,而一個(gè)指向地址的指針,則這個(gè)指針至少是一個(gè)二級(jí)指針,那如何定義和使用這個(gè)指針呢?例如有一個(gè)整型數(shù)組int a[5];那么定義數(shù)組指針并指向它:int (*p)[5] = &a;則稱(chēng)p為一個(gè)指向有5個(gè)元素的整型數(shù)組指針。通常數(shù)組指針跟二維數(shù)組在一起出現(xiàn)。例如,當(dāng)我們想要將一個(gè)二維數(shù)組作為形參傳入函數(shù),那么這個(gè)形參該如何定義?通常這種形參是一個(gè)指針,一個(gè)可以指向二維數(shù)組中每一個(gè)一維數(shù)組的指針,即數(shù)組指針。例如有整型二維數(shù)組 int b[2][3];那么形參的數(shù)組指針應(yīng)該這樣定義 int (*q)[3];則此時(shí) q=b;數(shù)組指針和二維數(shù)組可以直接賦值即建立指向關(guān)系。其實(shí)二維數(shù)組名就是一個(gè)地址,一個(gè)指向一維數(shù)組的地址,即它的本質(zhì)就是一個(gè)數(shù)組指針。通常我們?cè)谶M(jìn)行動(dòng)態(tài)內(nèi)存分配時(shí)也時(shí)常會(huì)用到數(shù)組指針。比如,我使用malloc函數(shù)開(kāi)辟了一段內(nèi)存空間,我想以二維數(shù)組的方式操作這片內(nèi)存,這時(shí)就需要一個(gè)數(shù)組指針去存放這個(gè)地址。

那數(shù)組指針有哪些操作呢?因?yàn)閿?shù)組指針本質(zhì)上是一個(gè)指針,所以所有的指針操作都可以對(duì)它進(jìn)行。當(dāng)對(duì)數(shù)組指針進(jìn)行++或--操作時(shí),地址的移動(dòng)是一個(gè)指向的單位,即一個(gè)數(shù)組的長(zhǎng)度。因此數(shù)組指針的定義必須給定指針指向的數(shù)組的元素個(gè)數(shù)。同時(shí),也可以將指針數(shù)組當(dāng)做一個(gè)二維數(shù)組來(lái)使用,但不管如何使用都必須要注意不能內(nèi)存越界。

上一篇:Linux重啟命令介紹

下一篇:Java:Map遍歷

熱點(diǎn)文章推薦
華清學(xué)員就業(yè)榜單
高薪學(xué)員經(jīng)驗(yàn)分享
熱點(diǎn)新聞推薦
前臺(tái)專(zhuān)線:010-82525158 企業(yè)培訓(xùn)洽談專(zhuān)線:010-82525379 院校合作洽談專(zhuān)線:010-82525379 Copyright © 2004-2022 北京華清遠(yuǎn)見(jiàn)科技集團(tuán)有限公司 版權(quán)所有 ,京ICP備16055225號(hào)-5京公海網(wǎng)安備11010802025203號(hào)

回到頂部