久久婷婷香蕉热狠狠综合,精品无码国产自产拍在线观看蜜,寡妇房东在做爰3,中文字幕日本人妻久久久免费,国产成人精品三上悠亚久久

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 講師博文 > C語言:數據(ju)指(zhi)針

C語言:數據指(zhi)針 時間:2019-02-13      來(lai)源:華清遠見

今天我們(men)來聊一聊數(shu)(shu)組(zu)指針(zhen)(zhen),對(dui)于C語(yu)言中常(chang)見數(shu)(shu)據類(lei)型,數(shu)(shu)組(zu)和(he)指針(zhen)(zhen)可能學過C語(yu)言的都(dou)不陌生(sheng),但兩(liang)個合起來又是怎么一回(hui)事呢?首先要理(li)解數(shu)(shu)組(zu)指針(zhen)(zhen),我們(men)需要先從(cong)數(shu)(shu)組(zu)和(he)指針(zhen)(zhen)說起。

數(shu)(shu)(shu)組(zu)(zu),什么是數(shu)(shu)(shu)組(zu)(zu)?即(ji)(ji)是將相同數(shu)(shu)(shu)據(ju)類型的(de)元(yuan)素連續緊密(mi)的(de)存儲,稱這種數(shu)(shu)(shu)據(ju)類型叫數(shu)(shu)(shu)組(zu)(zu)。數(shu)(shu)(shu)組(zu)(zu)名即(ji)(ji)代表該(gai)數(shu)(shu)(shu)據(ju)類型本(ben)身同時他本(ben)質上卻又是一個地址,即(ji)(ji)數(shu)(shu)(shu)據(ju)元(yuan)素的(de)首(shou)地址。通(tong)常訪問數(shu)(shu)(shu)據(ju)一般使用”數(shu)(shu)(shu)組(zu)(zu)名[數(shu)(shu)(shu)組(zu)(zu)下標]”的(de)方式(shi)訪問數(shu)(shu)(shu)組(zu)(zu)中的(de)元(yuan)素,當然(ran)也可(ke)以(yi)使用部(bu)分(fen)的(de)指針方式(shi)去操作(zuo)。

那什么又是(shi)指(zhi)(zhi)(zhi)針(zhen)(zhen)呢?指(zhi)(zhi)(zhi)針(zhen)(zhen)即(ji)是(shi)地址(zhi),這(zhe)種(zhong)說法其實不太準確。通常我們(men)所(suo)說的(de)(de)(de)指(zhi)(zhi)(zhi)針(zhen)(zhen)是(shi)指(zhi)(zhi)(zhi)指(zhi)(zhi)(zhi)針(zhen)(zhen)變(bian)(bian)量,何為(wei)指(zhi)(zhi)(zhi)針(zhen)(zhen)變(bian)(bian)量?指(zhi)(zhi)(zhi)針(zhen)(zhen)變(bian)(bian)量是(shi)指(zhi)(zhi)(zhi)一(yi)(yi)個(ge)(ge)存(cun)儲地址(zhi)的(de)(de)(de)變(bian)(bian)量,即(ji)是(shi)說一(yi)(yi)個(ge)(ge)變(bian)(bian)量中存(cun)放了一(yi)(yi)個(ge)(ge)地址(zhi)數據,這(zhe)個(ge)(ge)地址(zhi)是(shi)指(zhi)(zhi)(zhi)向一(yi)(yi)個(ge)(ge)某個(ge)(ge)數據類型的(de)(de)(de)。通常一(yi)(yi)個(ge)(ge)未(wei)賦初(chu)始值(zhi)的(de)(de)(de)指(zhi)(zhi)(zhi)針(zhen)(zhen)變(bian)(bian)量叫作(zuo)野指(zhi)(zhi)(zhi)針(zhen)(zhen),這(zhe)種(zhong)指(zhi)(zhi)(zhi)針(zhen)(zhen)在(zai)程(cheng)序中是(shi)很危(wei)險的(de)(de)(de),因該指(zhi)(zhi)(zhi)針(zhen)(zhen)除(chu)賦值(zhi)以外的(de)(de)(de)任何指(zhi)(zhi)(zhi)針(zhen)(zhen)操(cao)作(zuo)都將是(shi)危(wei)險的(de)(de)(de),會發生意想不到的(de)(de)(de)問題甚(shen)至錯誤。通常對于(yu)一(yi)(yi)個(ge)(ge)還不便(bian)于(yu)建立指(zhi)(zhi)(zhi)向關系的(de)(de)(de)指(zhi)(zhi)(zhi)針(zhen)(zhen),通常我們(men)會把它(ta)的(de)(de)(de)值(zhi)設置為(wei)NULL,即(ji)地址(zhi)0,這(zhe)個(ge)(ge)指(zhi)(zhi)(zhi)針(zhen)(zhen)稱(cheng)作(zuo)空指(zhi)(zhi)(zhi)針(zhen)(zhen)。

那(nei)什(shen)么是數(shu)(shu)(shu)組(zu)(zu)(zu)(zu)(zu)(zu)(zu)指(zhi)(zhi)(zhi)(zhi)(zhi)針(zhen)(zhen)(zhen)(zhen)(zhen)(zhen)呢?通(tong)常(chang)我(wo)們中文(wen)的(de)語法結構,事物的(de)本(ben)質或重點一(yi)(yi)(yi)(yi)般會(hui)放在后(hou)邊,即數(shu)(shu)(shu)組(zu)(zu)(zu)(zu)(zu)(zu)(zu)指(zhi)(zhi)(zhi)(zhi)(zhi)針(zhen)(zhen)(zhen)(zhen)(zhen)(zhen),本(ben)質上是一(yi)(yi)(yi)(yi)個(ge)指(zhi)(zhi)(zhi)(zhi)(zhi)針(zhen)(zhen)(zhen)(zhen)(zhen)(zhen),什(shen)么指(zhi)(zhi)(zhi)(zhi)(zhi)針(zhen)(zhen)(zhen)(zhen)(zhen)(zhen)呢?一(yi)(yi)(yi)(yi)個(ge)指(zhi)(zhi)(zhi)(zhi)(zhi)向(xiang)數(shu)(shu)(shu)組(zu)(zu)(zu)(zu)(zu)(zu)(zu)的(de)指(zhi)(zhi)(zhi)(zhi)(zhi)針(zhen)(zhen)(zhen)(zhen)(zhen)(zhen)。那(nei)么前面我(wo)們說到數(shu)(shu)(shu)組(zu)(zu)(zu)(zu)(zu)(zu)(zu)名本(ben)身就是一(yi)(yi)(yi)(yi)個(ge)地址(zhi)(zhi),而(er)一(yi)(yi)(yi)(yi)個(ge)指(zhi)(zhi)(zhi)(zhi)(zhi)向(xiang)地址(zhi)(zhi)的(de)指(zhi)(zhi)(zhi)(zhi)(zhi)針(zhen)(zhen)(zhen)(zhen)(zhen)(zhen),則(ze)這個(ge)指(zhi)(zhi)(zhi)(zhi)(zhi)針(zhen)(zhen)(zhen)(zhen)(zhen)(zhen)至少是一(yi)(yi)(yi)(yi)個(ge)二(er)(er)級指(zhi)(zhi)(zhi)(zhi)(zhi)針(zhen)(zhen)(zhen)(zhen)(zhen)(zhen),那(nei)如(ru)(ru)何(he)定(ding)義(yi)和使(shi)用(yong)這個(ge)指(zhi)(zhi)(zhi)(zhi)(zhi)針(zhen)(zhen)(zhen)(zhen)(zhen)(zhen)呢?例(li)如(ru)(ru)有(you)一(yi)(yi)(yi)(yi)個(ge)整型數(shu)(shu)(shu)組(zu)(zu)(zu)(zu)(zu)(zu)(zu)int a[5];那(nei)么定(ding)義(yi)數(shu)(shu)(shu)組(zu)(zu)(zu)(zu)(zu)(zu)(zu)指(zhi)(zhi)(zhi)(zhi)(zhi)針(zhen)(zhen)(zhen)(zhen)(zhen)(zhen)并指(zhi)(zhi)(zhi)(zhi)(zhi)向(xiang)它(ta):int (*p)[5] = &a;則(ze)稱p為一(yi)(yi)(yi)(yi)個(ge)指(zhi)(zhi)(zhi)(zhi)(zhi)向(xiang)有(you)5個(ge)元素的(de)整型數(shu)(shu)(shu)組(zu)(zu)(zu)(zu)(zu)(zu)(zu)指(zhi)(zhi)(zhi)(zhi)(zhi)針(zhen)(zhen)(zhen)(zhen)(zhen)(zhen)。通(tong)常(chang)數(shu)(shu)(shu)組(zu)(zu)(zu)(zu)(zu)(zu)(zu)指(zhi)(zhi)(zhi)(zhi)(zhi)針(zhen)(zhen)(zhen)(zhen)(zhen)(zhen)跟二(er)(er)維(wei)(wei)數(shu)(shu)(shu)組(zu)(zu)(zu)(zu)(zu)(zu)(zu)在一(yi)(yi)(yi)(yi)起(qi)出(chu)現。例(li)如(ru)(ru),當我(wo)們想要將(jiang)一(yi)(yi)(yi)(yi)個(ge)二(er)(er)維(wei)(wei)數(shu)(shu)(shu)組(zu)(zu)(zu)(zu)(zu)(zu)(zu)作(zuo)為形(xing)參傳(chuan)入函數(shu)(shu)(shu),那(nei)么這個(ge)形(xing)參該如(ru)(ru)何(he)定(ding)義(yi)?通(tong)常(chang)這種形(xing)參是一(yi)(yi)(yi)(yi)個(ge)指(zhi)(zhi)(zhi)(zhi)(zhi)針(zhen)(zhen)(zhen)(zhen)(zhen)(zhen),一(yi)(yi)(yi)(yi)個(ge)可(ke)以指(zhi)(zhi)(zhi)(zhi)(zhi)向(xiang)二(er)(er)維(wei)(wei)數(shu)(shu)(shu)組(zu)(zu)(zu)(zu)(zu)(zu)(zu)中每一(yi)(yi)(yi)(yi)個(ge)一(yi)(yi)(yi)(yi)維(wei)(wei)數(shu)(shu)(shu)組(zu)(zu)(zu)(zu)(zu)(zu)(zu)的(de)指(zhi)(zhi)(zhi)(zhi)(zhi)針(zhen)(zhen)(zhen)(zhen)(zhen)(zhen),即數(shu)(shu)(shu)組(zu)(zu)(zu)(zu)(zu)(zu)(zu)指(zhi)(zhi)(zhi)(zhi)(zhi)針(zhen)(zhen)(zhen)(zhen)(zhen)(zhen)。例(li)如(ru)(ru)有(you)整型二(er)(er)維(wei)(wei)數(shu)(shu)(shu)組(zu)(zu)(zu)(zu)(zu)(zu)(zu) int b[2][3];那(nei)么形(xing)參的(de)數(shu)(shu)(shu)組(zu)(zu)(zu)(zu)(zu)(zu)(zu)指(zhi)(zhi)(zhi)(zhi)(zhi)針(zhen)(zhen)(zhen)(zhen)(zhen)(zhen)應該這樣定(ding)義(yi) int (*q)[3];則(ze)此(ci)時(shi)(shi)(shi) q=b;數(shu)(shu)(shu)組(zu)(zu)(zu)(zu)(zu)(zu)(zu)指(zhi)(zhi)(zhi)(zhi)(zhi)針(zhen)(zhen)(zhen)(zhen)(zhen)(zhen)和二(er)(er)維(wei)(wei)數(shu)(shu)(shu)組(zu)(zu)(zu)(zu)(zu)(zu)(zu)可(ke)以直接賦值即建(jian)立(li)指(zhi)(zhi)(zhi)(zhi)(zhi)向(xiang)關系(xi)。其實二(er)(er)維(wei)(wei)數(shu)(shu)(shu)組(zu)(zu)(zu)(zu)(zu)(zu)(zu)名就是一(yi)(yi)(yi)(yi)個(ge)地址(zhi)(zhi),一(yi)(yi)(yi)(yi)個(ge)指(zhi)(zhi)(zhi)(zhi)(zhi)向(xiang)一(yi)(yi)(yi)(yi)維(wei)(wei)數(shu)(shu)(shu)組(zu)(zu)(zu)(zu)(zu)(zu)(zu)的(de)地址(zhi)(zhi),即它(ta)的(de)本(ben)質就是一(yi)(yi)(yi)(yi)個(ge)數(shu)(shu)(shu)組(zu)(zu)(zu)(zu)(zu)(zu)(zu)指(zhi)(zhi)(zhi)(zhi)(zhi)針(zhen)(zhen)(zhen)(zhen)(zhen)(zhen)。通(tong)常(chang)我(wo)們在進行動(dong)態(tai)內存(cun)(cun)分配(pei)時(shi)(shi)(shi)也時(shi)(shi)(shi)常(chang)會(hui)用(yong)到數(shu)(shu)(shu)組(zu)(zu)(zu)(zu)(zu)(zu)(zu)指(zhi)(zhi)(zhi)(zhi)(zhi)針(zhen)(zhen)(zhen)(zhen)(zhen)(zhen)。比如(ru)(ru),我(wo)使(shi)用(yong)malloc函數(shu)(shu)(shu)開辟了一(yi)(yi)(yi)(yi)段內存(cun)(cun)空間,我(wo)想以二(er)(er)維(wei)(wei)數(shu)(shu)(shu)組(zu)(zu)(zu)(zu)(zu)(zu)(zu)的(de)方式操(cao)作(zuo)這片(pian)內存(cun)(cun),這時(shi)(shi)(shi)就需要一(yi)(yi)(yi)(yi)個(ge)數(shu)(shu)(shu)組(zu)(zu)(zu)(zu)(zu)(zu)(zu)指(zhi)(zhi)(zhi)(zhi)(zhi)針(zhen)(zhen)(zhen)(zhen)(zhen)(zhen)去存(cun)(cun)放這個(ge)地址(zhi)(zhi)。

那數(shu)(shu)(shu)組(zu)(zu)指(zhi)(zhi)針(zhen)有(you)哪些操作(zuo)呢?因為數(shu)(shu)(shu)組(zu)(zu)指(zhi)(zhi)針(zhen)本質上是一個(ge)指(zhi)(zhi)針(zhen),所以所有(you)的指(zhi)(zhi)針(zhen)操作(zuo)都(dou)可以對(dui)它進(jin)行。當對(dui)數(shu)(shu)(shu)組(zu)(zu)指(zhi)(zhi)針(zhen)進(jin)行++或--操作(zuo)時,地址的移動是一個(ge)指(zhi)(zhi)向的單位,即一個(ge)數(shu)(shu)(shu)組(zu)(zu)的長(chang)度。因此數(shu)(shu)(shu)組(zu)(zu)指(zhi)(zhi)針(zhen)的定義必須給定指(zhi)(zhi)針(zhen)指(zhi)(zhi)向的數(shu)(shu)(shu)組(zu)(zu)的元(yuan)素(su)個(ge)數(shu)(shu)(shu)。同時,也可以將指(zhi)(zhi)針(zhen)數(shu)(shu)(shu)組(zu)(zu)當做一個(ge)二維數(shu)(shu)(shu)組(zu)(zu)來(lai)使用(yong),但(dan)不管如何使用(yong)都(dou)必須要注意不能內存越界(jie)。

上一篇:Linux重啟命令介紹

下一篇:Java:Map遍歷

熱點文章推(tui)薦
華清學員就業(ye)榜單
高薪學員(yuan)經驗分享(xiang)
熱點新聞推薦
前臺專線(xian):010-82525158 企業(ye)培訓洽談專(zhuan)線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,,京公海網安備11010802025203號

回到頂部