指針(超重要的8)

可以理解為指向地址愿汰!本質(zhì)就是地址,需要賦值的也是地址乐纸。

image.png

ps:我們定義了指針之后盡量要及時進(jìn)行賦值衬廷,以免出現(xiàn)野指針,導(dǎo)致程序出錯汽绢。如果暫時不知道賦值什么泵督,就可以先賦值為空(null)。
例:
image.png

fun函數(shù)收到了a庶喜,b的地址小腊,括號里面的代表解引用,里面的x就是a久窟,*y就是b秩冈。所以a,b被重新賦值了斥扛。

指針的偏移(按內(nèi)存偏)

在數(shù)組中入问,里面的變量都是相同類型,地址連續(xù)的稀颁。如果我們要選中其中一個數(shù)據(jù)該怎么做芬失。
例:


image.png

因?yàn)閿?shù)組是int類型的,所以一個變量占四個字節(jié)匾灶,地址是連續(xù)的棱烂。定義了指針p,然后偏移阶女,+是向右颊糜,-是向左,最后輸出解引用p秃踩,也就是數(shù)組中第二個變量的值衬鱼。
其中因?yàn)橹羔樀念愋褪莍nt型,向右偏移也就是移動了3個變量的地方憔杨,12個字節(jié)鸟赫,對應(yīng)數(shù)組(int類型)移動十二個字節(jié)也就是移動了3位。

例:
image.png

咋解釋呢O稹抛蚤!指針p是double類型,一開始指向的是數(shù)組的首位(1)妖啥,p++霉颠,也就是p向右移動了一位,按照字節(jié)就是八個字節(jié)(因?yàn)槭莇ouble類型的)荆虱,所以就是向右移動了八個字節(jié)蒿偎,輸出的時候把p轉(zhuǎn)成了int類型,移動八個字節(jié)后相當(dāng)于int類型移動了兩個變量怀读,所以對應(yīng)的就是3诉位。

同理可得:
image.png

char類型的數(shù)據(jù)需要偏移四次才能到第二個數(shù)據(jù)。

指針也是有類型的菜枷,定義就是類型*

特殊指針

1.指針函數(shù)

定義:是一個函數(shù)苍糠,但是這個函數(shù)的返回值類型是個指針。

例:
image.png

上圖的fun函數(shù)就是指針函數(shù)啤誊,返回的值是指針岳瞭。

2.函數(shù)指針

定義:是一個指針拥娄,這個指針的指向是一個函數(shù)。


image.png

函數(shù)指針的形參列表就是要指向的函數(shù)的形參列表瞳筏。

例:
image.png

將函數(shù)指針當(dāng)做形參稚瘾,就可以在函數(shù)里調(diào)用別的函數(shù)。

如果給函數(shù)指針取別名:


image.png

其中pF的函數(shù)指針當(dāng)做類型使用了姚炕,定義了pf摊欠,其功能和直接在形參里面寫函數(shù)指針的作用是一樣的。

3.常量指針&指針常量

常量指針:是一個指針柱宦,指向一個常量些椒。
指針常量:是一個常量,存儲的是指針掸刊。


image.png

image.png

為什么上圖會報錯免糕,因?yàn)楦淖兞酥羔槼A康闹赶颉?br>

但是指針常量可以修改內(nèi)容:
image.png

大端存儲和小端存儲

image.png

大端存儲:高位存高位
小端存儲:高位存低位

數(shù)組指針和指針數(shù)組

指針數(shù)組:是一個數(shù)組,存儲的是指針痒给。
數(shù)組指針:是一個指針说墨,指向的是一個數(shù)組(至少是二維數(shù)組↑)

image.png

有括號的是數(shù)組指針,沒括號的是指針數(shù)組(咋理解呢苍柏!指針需要括號和定義尼斧,數(shù)組不需要括號和定義)
數(shù)組指針的應(yīng)用:
image.png

函數(shù)fun的功能是輸出2列數(shù)組的各個元素,方便之處在于可以輸出任何想輸出的列數(shù)為2的數(shù)組试吁。
多級指針:
image.png

例:(我覺得有點(diǎn)小難棺棵,但是勉強(qiáng)能懂)
image.png

下面這個是視頻里面的:(目前能看明白!)
image.png

內(nèi)存四區(qū)

image.png

結(jié)構(gòu)體指針(重要Oê础)

image.png

需要注意的是:結(jié)構(gòu)體指針的類型和結(jié)構(gòu)體是一樣的V蛐簟!
例:(結(jié)構(gòu)化數(shù)組余耽、指針數(shù)組)


image.png

例:(指針的偏移)


image.png

動態(tài)內(nèi)存分配

(為什么要從堆區(qū)申請內(nèi)存缚柏?因?yàn)槎褏^(qū)的內(nèi)存大,棧區(qū)的內(nèi)存有時候不夠大碟贾。)
:從堆區(qū)申請內(nèi)存币喧,自己使用(記得釋放),從堆區(qū)申請的內(nèi)存是通過指針進(jìn)行管理的袱耽!

1.申請是通過函數(shù)malloc杀餐、calloc、realloc
2.釋放是用free函數(shù)進(jìn)行
3.在釋放內(nèi)存的時候朱巨,free函數(shù)中填的指針史翘,必須要指向內(nèi)存的首地址

1.malloc

還有就是malloc要引用頭文件!(#include <stdlib.h>)
例:

image.png

但是!一般都不這么定義琼讽!
例:
image.png

一般都是這么定義的1胤濉!
還有一種賦值方法:(逐字節(jié)賦值)
image.png

2.realloc(重分配)

image.png

本來p是25個字節(jié)钻蹬,但是重新分配之后自点,就有50個字節(jié),不過只賦值了25個字節(jié)脉让,所以后面會出現(xiàn)亂碼。
如果內(nèi)存變小的話(比如10)功炮,如果輸出25個的話溅潜,前十個正常,后面是亂碼薪伏。

釋放就還是free
image.png

3.calloc

image.png

注意:
image.png

image.png

還是需要手動釋放滚澜。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市嫁怀,隨后出現(xiàn)的幾起案子设捐,更是在濱河造成了極大的恐慌,老刑警劉巖塘淑,帶你破解...
    沈念sama閱讀 218,122評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件萝招,死亡現(xiàn)場離奇詭異,居然都是意外死亡存捺,警方通過查閱死者的電腦和手機(jī)槐沼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來捌治,“玉大人岗钩,你說我怎么就攤上這事⌒び停” “怎么了兼吓?”我有些...
    開封第一講書人閱讀 164,491評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長森枪。 經(jīng)常有香客問我视搏,道長,這世上最難降的妖魔是什么疲恢? 我笑而不...
    開封第一講書人閱讀 58,636評論 1 293
  • 正文 為了忘掉前任凶朗,我火速辦了婚禮,結(jié)果婚禮上显拳,老公的妹妹穿的比我還像新娘棚愤。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,676評論 6 392
  • 文/花漫 我一把揭開白布宛畦。 她就那樣靜靜地躺著瘸洛,像睡著了一般。 火紅的嫁衣襯著肌膚如雪次和。 梳的紋絲不亂的頭發(fā)上反肋,一...
    開封第一講書人閱讀 51,541評論 1 305
  • 那天,我揣著相機(jī)與錄音踏施,去河邊找鬼石蔗。 笑死,一個胖子當(dāng)著我的面吹牛畅形,可吹牛的內(nèi)容都是我干的养距。 我是一名探鬼主播,決...
    沈念sama閱讀 40,292評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼日熬,長吁一口氣:“原來是場噩夢啊……” “哼棍厌!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起竖席,我...
    開封第一講書人閱讀 39,211評論 0 276
  • 序言:老撾萬榮一對情侶失蹤耘纱,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后毕荐,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體束析,經(jīng)...
    沈念sama閱讀 45,655評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,846評論 3 336
  • 正文 我和宋清朗相戀三年东跪,在試婚紗的時候發(fā)現(xiàn)自己被綠了畸陡。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,965評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡虽填,死狀恐怖丁恭,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情斋日,我是刑警寧澤牲览,帶...
    沈念sama閱讀 35,684評論 5 347
  • 正文 年R本政府宣布,位于F島的核電站恶守,受9級特大地震影響第献,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜兔港,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,295評論 3 329
  • 文/蒙蒙 一庸毫、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧衫樊,春花似錦飒赃、人聲如沸利花。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽炒事。三九已至,卻和暖如春蔫慧,著一層夾襖步出監(jiān)牢的瞬間挠乳,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評論 1 269
  • 我被黑心中介騙來泰國打工姑躲, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留睡扬,地道東北人。 一個月前我還...
    沈念sama閱讀 48,126評論 3 370
  • 正文 我出身青樓黍析,卻偏偏與公主長得像威蕉,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子橄仍,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,914評論 2 355

推薦閱讀更多精彩內(nèi)容